1
今天我遇到了python列表追加的奇怪问题。我试图创建一个数组,其每个元素都像C struct
。其中一个元素本身就是一个列表。这是有问题的代码:Python列表追加问题
class players:
name='placeholder'
squad=list()
teams=list()
teams.append(players())
teams.append(players())
teams[0].name="abc"
teams[1].name="xyz"
teams[0].squad.append("Joe")
for w in teams:
print(w.name)
print(w.squad)
我期望的输出是:
abc
['Joe']
xyz
[]
由于我只加一个构件到squad
为团队[0]。但输出我得到的是:
abc
['Joe']
xyz
['Joe']
名称设置罚款,但.append
它附加到teams
两个元素!
是什么导致了这种情况,我该如何解决这个问题?
谢谢!这解决了问题! –