我有b这是一个列表,它还包含10个列表,列表的每个索引都包含列表本身。现在,当我尝试在第i个列表中添加一些值时,它会将其附加到所有列表中。我不明白为什么?救命。
CODE:
a=[3,5,1,7,2,22,9,8,4,11]
b=[[]]*10
d=10
for i in range(len(a)):
b[i].append(a[i])
print b
输出:
[[3],[3],[3],[3],[3],[3],[3],[3],[3],[3]] [[3,5],[3,5],[3,5],[3,5],[3,5],[3,5],[3,5],[3,5],[ 3,5],[3,5]] [[3,5,1],[3,5,1],[3,5,1],[3,5,1],[3,5,1],[3,5,1],[ 3,5,1],[3,5,1],[3,5,1],[3,5,1]] [[3,5,1,7],[3,5,1,7],[3,5,1,7],[3,5,1,7],[3,5,1,7] ,[3,5,1,7],[3,5,1,7],[3,5,1,7],[3,5,1,7],[3,5,1,7] ] [[3,5,1,7,2],[3,5,1,7,2],[3,5,1,7,2],[3,5,1,7,2],[ 3,5,1,7,2],[3,5,1,7,2],[3,5,1,7,2],[3,5,1,7,2],[3, 5,1,7,2],[3,5,1,7,2]] [[3,5,1,7,2,22],[3,5,1,7,2,22],[3,5,1,7,2,22],[3,5,1, 7,2,22],[3,5,1,7,2,22],[3,5,1,7,2,22],[3,5,1,7,2,22],[ 3,5,1,7,2,22],[3,5,1,7,2,22],[3,5,1,7,2,22]] [[3,5,1,7,2,22,9],[3,5,1,7,2,22,9],[3,5,1,7,2,22,9],[ 3,5,1,7,2,22,9],[3,5,1,7,2,22,9],[3,5,1,7,2,22,9],[3, 5,1,7,2,22,9],[3,5,1,7,2,22,9],[3,5,1,7,2,22,9],[3,5] 1,7,2,22,9]] [[3,5,1,7,2,22,9,8],[3,5,1,7,2,22,9,8],[3,5,1,7,2,22] 9,8],[3,5,1,7,2,22,9,8],[3,5,1,7,2,22,9,8],[3,5,1,7, 2,22,9,8],[3,5,1,7,2,22,9,8],[3,5,1,7,2,22,9,8],[3,5], 1,7,2,22,9,8],[3,5,1,7,2,22,9,8]] [[3,5,1,7,2,22,9,8,4],[3,5,1,7,2,22,9,8,4],[3,5,1,7, 2,22,9,8,4],[3,5,1,7,2,22,9,8,4],[3,5,1,7,2,22,9,8,4] ,[3,5,1,7,2,22,9,8,4],[3,5,1,7,2,22,9,8,4],[3,5,1,7, 2,22,9,8,4],[3,5,1,7,2,22,9,8,4],[3,5,1,7,2,22,9,8,4] ] [[3,5,1,7,2,22,9,8,4,11],[3,5,1,7,2,22,9,8,4,11],[3,5], 1,7,2,22,9,8,4,11],[3,5,1,7,2,22,9,8,4,11],[3,5,1,7,2] 22,9,8,4,11],[3,5,1,7,2,22,9,8,4,11],[3,5,1,7,2,22,9,8, 4,11],[3,5,1,7,2,22,9,8,4,11],[3,5,1,7,2,22,9,8,4,11],[ 3,5,1,7,2,22,9,8,4,11]]
答案 0 :(得分:0)
这篇文章建议不要将其作为可变对象进行初始化:Append a new item to a list within a list
相反,将列表重写为:
>>> b=[[] for _ in xrange(10)]
>>> b
[[], [], [], [], [], [], [], [], [], []]
>>> b[0].append(0)
>>> b
[[0], [], [], [], [], [], [], [], [], []]
对于您提供的代码,
a=[3,5,1,7,2,22,9,8,4,11]
b=[[] for _ in xrange(10)]
d=10;
for i in range(len(a)):
b[i].append(a[i])
print b
输出:
[[3], [], [], [], [], [], [], [], [], []]
[[3], [5], [], [], [], [], [], [], [], []]
[[3], [5], [1], [], [], [], [], [], [], []]
[[3], [5], [1], [7], [], [], [], [], [], []]
[[3], [5], [1], [7], [2], [], [], [], [], []]
[[3], [5], [1], [7], [2], [22], [], [], [], []]
[[3], [5], [1], [7], [2], [22], [9], [], [], []]
[[3], [5], [1], [7], [2], [22], [9], [8], [], []]
[[3], [5], [1], [7], [2], [22], [9], [8], [4], []]
[[3], [5], [1], [7], [2], [22], [9], [8], [4], [11]]