假设我有以下代码:
a_list = [[0]*10]*10
Run Code Online (Sandbox Code Playgroud)
这会生成以下列表:
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, …Run Code Online (Sandbox Code Playgroud) 我需要将列表附加到 2D 列表,以便我可以编辑添加的列表。我有这样的事情:
n = 3
a = [
['a', 2, 3],
['b', 5, 6],
['c', 8, 9]
]
b = [None for _ in range(n)] # [None] * n
print b
a.append(b)
a[3][0] = 'e'
print a
a.append(b)
a[4][0] = 'f'
print a
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
[None, None, None]
[['a', 2, 3], ['b', 5, 6], ['c', 8, 9], ['e', None, None]]
[['a', 2, 3], ['b', 5, 6], ['c', 8, 9], ['f', None, None], ['f', None, None]]
Run Code Online (Sandbox Code Playgroud)
第e4 行更改为f …