【发布时间】:2021-01-06 21:16:26
【问题描述】:
另一个超级菜鸟问题 为什么
a = [["?" for i in range(6)] for i in range(6)]
用分隔的“?”创建一个 6x6 数组
print(a)
给予
[['?', '?', '?', '?', '?', '?'], ['?', '?', '?', '?', '?', '?'], ['?', '?', '?', '?', '?', '?'], ['?', '?', '?', '?', '?', '?'], ['?', '?', '?', '?', '?', '?'], ['?', '?', '?', '?', '?', '?']]
但是
a = [["?" * 6] *6]
用 "?" 创建 a1x6 数组在一起。
print(a)
给予
[['??????', '??????', '??????', '??????', '??????', '??????']]
如何在声明步骤中不使用 for 循环创建 6x6?
【问题讨论】:
-
您可以使用
[['?']*6]*6,但尝试创建嵌套列表是一种不好的方法,因为它实际上为您提供了 6 次相同的内部列表。你最好使用列表推导。
标签: python python-3.x multidimensional-array