我被困在一个列表上,没有得到它-为什么我得到下面的结果:
TenLast = [["."] * 10 ] * NumberOfHosts
for i in range(0,NumberOfHosts):
TenLast[i][0] = i
print(TenLast)
exit()
[[6, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.']]
我希望
[[0, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[1, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[2, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[3, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[4, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[5, '.', '.', '.', '.', '.', '.', '.', '.', '.'],
[6, '.', '.', '.', '.', '.', '.', '.', '.', '.']]
感谢您的帮助、支持和任何建议。
问候,消息灵通的
子列表都指向内存中的同一列表。您可以通过使用itertools
来解决这个问题。
import itertools
TenLast = list(itertools.repeat([["."] * 10 ],NumberOfHosts))
for i in range(0,NumberOfHosts):
TenLast[i][0] = i
print(TenLast)