猿问

如何在Python中初始化二维数组?

如何在Python中初始化二维数组?

我正在开始python,我正在尝试使用二维列表,我最初在每个地方填充相同的变量。我想出了这个:

def initialize_twodlist(foo):
    twod_list = []
    new = []
    for i in range (0, 10):
        for j in range (0, 10):
            new.append(foo)
        twod_list.append(new)
        new = []

它给出了期望的结果,但感觉就像一个解决方法。有没有更简单/更短/更优雅的方式来做到这一点?


30秒到达战场
浏览 2775回答 3
3回答

小唯快跑啊

Python中经常出现的模式是bar = []for item in some_iterable:    bar.append(SOME EXPRESSION)这有助于激发列表推导的引入,将列表转换为bar = [SOME EXPRESSION for item in some_iterable]这是更短,有时更清晰。通常你会养成识别这些并经常用理解来代替循环的习惯。您的代码遵循此模式两次twod_list = []                                       \                      for i in range (0, 10):                               \    new = []                  \ can be replaced        } this too    for j in range (0, 10):    } with a list          /        new.append(foo)       / comprehension        /    twod_list.append(new)                           /

噜噜哒

您可以使用列表理解:x = [[foo for i in range(10)] for j in range(10)] # x is now a 10x10 array of 'foo' (which can depend on i and j if you want)
随时随地看视频慕课网APP

相关分类

Python
我要回答