Ich stieß auf ein ziemlich seltsames Problem mit Python-Liste anfügen heute. Ich habe versucht, ein Array zu erstellen, dessen jedes Element wie ein C struct
wäre. Eines dieser Elemente war eine eigene Liste. Dies ist der problematische Code:Python-Liste anhängendes Problem
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)
Der Ausgang I erwartet ist:
abc
['Joe']
xyz
[]
Da ich nur ein Mitglied zu squad
für Teams [0] hinzugefügt. Aber der Ausgang ich erhalte, ist:
abc
['Joe']
xyz
['Joe']
Der Name wird in Ordnung, aber die .append
angehängt an beiden Elemente teams
!
Was verursacht dies und wie kann ich das umgehen?
Danke! Dies löst das Problem! –