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

382

我正在学习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 = []

这样可以得到期望的结果,但感觉像是一个变通方法。有没有更简单/更短/更优雅的方法来做到这一点?


11
只是一个小问题(或者对于观察者而言,可能很重要): 列表不是数组。如果您需要数组,请使用numpy。 - Arnab Datta
这个问题类似于:它讨论了Python中多维数组的初始化,而不需要循环。 - Anderson Green
@ArnabDatta 你怎么在numpy中初始化一个多维数组呢? - Anderson Green
1
@AndersonGreen http://docs.scipy.org/doc/numpy/user/basics.creation.html#arrays-creation - Arnab Datta
你可以在默认的Python中像数组一样组织数据,但它远不如NumPy数组高效或有用。特别是当你想处理大型数据集时。这里有一些文档http://docs.scipy.org/doc/numpy-1.10.1/user/basics.creation.html - jmdeamer
31个回答

-5
from random import randint
l = []

for i in range(10):
    k=[]
    for j in range(10):
        a= randint(1,100)
        k.append(a)

    l.append(k)




print(l)
print(max(l[2]))

b = []
for i in range(10):
    a = l[i][5]
    b.append(a)

print(min(b))

4
请添加一些文字描述您的代码所做的事情。 - whackamadoodle3000
1
通常最好是对解决方案进行解释,而不仅仅是发布一些匿名代码。您可以阅读《如何撰写良好的答案》以及《解释基于代码的答案》。 - Massimiliano Kraus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接