TypeError: objekt 'str' nepodporuje priradenie položky

Typeerror Strobject Does Not Support Item Assignment



Tento problém sa vyskytuje, keď sa použije nasledujúci kód, ktorý mení charakter reťazca.

s = '312141' s[0] = '0'

Reťazce v Pythone sa trochu líšia od C ++. Pythonové reťazce sú akési Nezmeniteľný objekt (objekt immutabel), čo znamená, že iba na čítanie nie je napísané, bezpečné pre vlákna. Reťazce C ++ Na priradenie hodnôt znaku v reťazci môžeme použiť s [0] = '0', ale python nie.
V Pythone môžete reťazec previesť do zoznamu, potom vykonať priradenie a potom ho vrátiť späť. odkaz Odpoveď na stackoverflow



s = '312141' t = list(s) t[0] = '0' s = ''.join(t)