Ich bin auf der Suche nach einem sauberen Weg, um über eine Liste von Tupeln zu iterieren, wo jeder ein Paar wie so ist [(a, b), (c,d) ...]
. Außerdem möchte ich die Tupel in der Liste ändern.Iterieren Sie eine Liste von Tupeln
Die übliche Vorgehensweise besteht darin, zu vermeiden, dass eine Liste geändert wird, während sie auch durchlaufen wird. Was soll ich also tun? Hier ist, was ich irgendwie wollen:
for i in range(len(tuple_list)):
a, b = tuple_list[i]
# update b's data
# update tuple_list[i] to be (a, newB)
Nun, du bist nicht wirklich die Liste mit, dass ein Aktualisieren Sie nur die Tupel zu aktualisieren. –
Richtig, also etwas wie 'tuple_list [i] = (a, newB)' ... außer dass ich das in der Schleife vermeiden möchte. Ich bin gespannt, ob es einen saubereren Weg gibt. – Clev3r
@Clever: Die Schleife, die Sie gegeben haben, ist in Ordnung; Es durchläuft nicht die Liste, die Sie aktualisieren, sondern nur die Indizes. Dies ist eine vollständig standardmäßige Möglichkeit, mit Listen zu arbeiten, solange Sie nicht die Anzahl der Elemente in der Liste ändern, die Sie nicht sind. –