小编典典

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

all

我开始使用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 = []

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


阅读 89

收藏
2022-04-04

共1个答案

小编典典

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)                           /
2022-04-04