Python:初始化多维列表

我想初始化一个多维列表。基本上,我想要一个10x10的网格-10个列表的列表,每个列表包含10个项目。

每个列表值都应初始化为整数0。

单行执行此操作的明显方法:myList =

[[0]*10]*10将不起作用,因为它会生成一个包含10个引用的列表,该列表引用一个列表,因此更改任何行中的项都会更改所有行中的项。

我看过的文档讨论了[:]用于复制列表的方法,但是在使用乘法器时仍然无法使用:myList = [0]*10; myList =

myList[:]*10与效果相同myList = [[0]*10]*10

myList.append()除了创建s循环之外,是否有一种快速有效的方式以这种方式初始化列表?

回答:

您可以使用列表推导非常有效地做到这一点:

a = [[0] * number_cols for i in range(number_rows)]

以上是 Python:初始化多维列表 的全部内容, 来源链接: utcz.com/qa/402203.html

回到顶部