x = open("C:\\Users\\User\\Documents\\original.txt", 'r')
mylist = x.read()
length = len(mylist)
for y in range(length):
for q in range(length-1):
if mylist[q] > mylist[q+1]:
mylist[q], mylist[q+1] = mylist[q+1], mylist[q]
print (mylist)
Traceback (jüngste Aufforderung zuletzt):Mit Blasensortierung in einer TXT-Datei
File "<pyshell#12>", line 4, in <module>
mylist[q], mylist[q+1] = mylist[q+1], mylist[q]
TypeError: 'str' object does not support item assignment
Kann jemand diesen Fehler bitte, Dank erklären.
Die Zahlen, die Sie aus Ihrer Textdatei eingelesen haben, sind wahrscheinlich vom Typ 'str', nicht' int' oder 'float'. – blacksite
'x.read()' erzeugt keine Liste. Es liest den gesamten Inhalt der Datei in einer einzigen Zeichenfolge. Sie wollen wahrscheinlich 'x.readlines()'. – Blckknght
'mylist' ist keine' liste', es ist eine 'string', vielleicht hast du vergessen es zu" teilen ". – Arman