小编Asw*_*n G的帖子

Python列表附加问题

今天我附加了python列表遇到了一个相当奇怪的问题.我试图创建一个数组,其每个元素会像一个C struct.其中一个元素本身就是一个列表.这是有问题的代码:

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)
Run Code Online (Sandbox Code Playgroud)

我期望的输出是:

abc
['Joe']
xyz
[]
Run Code Online (Sandbox Code Playgroud)

因为我只squad为团队添加了一个成员[0].但我得到的输出是:

abc
['Joe']
xyz
['Joe']
Run Code Online (Sandbox Code Playgroud)

名称设置正常但.append附加到两个元素teams!

是什么导致这种情况,我该如何解决这个问题?

python list append

1
推荐指数
1
解决办法
491
查看次数

标签 统计

append ×1

list ×1

python ×1