【发布时间】:2019-01-25 02:14:48
【问题描述】:
我想创建二维数组并用以下信息填充它。
n = 7
j = [0, 1, 2, 3, 4, 5, 6]
k = [0, 2, 4, 3, 3, 2, 1]
l = [0 , 46, 52, 30, 36 ,56, 40]
所以,列表 L 的第一个列表应该是 b [0,0,0],列表 L 的第二个列表应该是 [1,2,46],列表 L 的第三个应该是列表 [2, 4, 52] 等等。但它不起作用,它不断覆盖这些值
#!/usr/bin/python3.6
from operator import itemgetter
n = 7
j = [0, 1, 2, 3, 4, 5, 6]
k = [0, 2, 4, 3, 3, 2, 1]
l = [0 , 46, 52, 30, 36 ,56, 40]
L = [[0]*3]*n
print(L)
x = 0
y = 0
z = 0
while x < len(j):
L[x][0] = j[x]
x = x + 1
while y < len(k):
L[y][1] = k[y]
y = y + 1
while z < len(l):
L[z][2] = l[z]
z = z + 1
print (L)
当前输出为
L 的初始化,没关系
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [ 0, 0, 0]]
和修改后的L,这是非常错误的
[[6, 1, 40], [6, 1, 40], [6, 1, 40], [6, 1, 40], [6, 1, 40], [6, 1, 40], [ 6、1、40]]
【问题讨论】:
标签: python-3.x list multidimensional-array