Dies ist Python 3.Tupel Listen in python3 und Modifizieren
Umwandlung Lets sagen, ich habe ein Tupel
tup = (1, 2, 3)
Und dieses Tupel wird in einer Liste gespeichert:
a = []
a[0] = tup
I bin über die Liste a
iterieren. Was ich tun muss, ist den Inhalt von tup
zu ändern. Das heißt, ich möchte die Werte ändern und gleichzeitig in der Liste a
beibehalten. Ist das korrekt?
tmp = list(a[0])
tmp[0] = 0 # Now a[0] = (0, 2, 3)
Außerdem: Ich bin mir bewusst, Tupeln sind so konzipiert, unveränderlich zu sein, und dass eine Liste ist wahrscheinlich besser für tup
anstelle eines Tupels. Es ist mir jedoch unangenehm, append
Elemente zur Liste hinzuzufügen: Die Liste speichert Elemente einer festen Größe, und ein Tupel ist ein besserer Vertreter dieser. Ich würde eher Dinge manuell in die Liste hinzufügen wie tup[0] = blah
als tup.append(blah)
Sie scheinen einige Missverständnisse über Listen zu haben: 'a [0] = tup' ->' IndexError: Listenzuweisungsindex außerhalb des Bereichs '. Sie _must_ verwenden 'a.append (tup)' (oder weisen Sie die Liste mit 'a = [None]') vor. Die einzige Möglichkeit, ein unveränderliches Element in einer Liste - wie ein Tupel - zu ändern, ist es, es durch ein anderes zu ersetzen. – martineau
yup, der Debugger hat mich das reparieren lassen. Danke. – socrates