Sind in Python Strings veränderbar? Die Zeile someString[3] = "a"
löst den Fehler
TypeError: 'str' Objekt nicht Artikelzuordnung unterstützen
Ich kann sehen warum (wie ich hätte schreiben können someString [3]="test" und das wäre natürlich illegal) aber gibt es eine Methode, dies in Python zu tun?
Anstatt Ihren Wert als String zu speichern, könnten Sie eine Liste von Zeichen verwenden:
%Vor%Wenn Sie es dann wieder in eine Zeichenfolge konvertieren möchten, um es anzuzeigen, verwenden Sie Folgendes:
%Vor%Wenn Sie viele Zeichen nacheinander ändern, ist diese Methode wesentlich schneller als das Erstellen einer neuen Zeichenfolge bei jedem Zeichenwechsel.
In genügend neuen Pythons können Sie auch den eingebauten bytearray
-Typ verwenden, der änderbar ist. Siehe die stdlib-Dokumentation. Aber "neu genug" bedeutet hier 2.6 oder höher, also ist das nicht unbedingt eine Option.
In älteren Pythons musst du ein neues str
wie oben erwähnt erstellen, da diese unveränderlich sind. Das ist normalerweise der am besten lesbare Ansatz, aber manchmal ist es sinnvoll, eine andere Art von veränderbarer Sequenz (wie eine Liste von Zeichen oder möglicherweise array.array
) zu verwenden. array.array
ist jedoch ein wenig klobig und wird normalerweise vermieden.
Tags und Links python