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)
追踪(最近一次呼叫最后一次):
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
请有人解释这个错误,谢谢。
答案 0 :(得分:0)
您尝试做的事情等同于:
string = "Some string"
string[0], string[1], = string[1], string[0]
即。您正在尝试修改字符串中的字符。
你想做的是要么
a)使用mylist.split()
将内容拆分为单词列表
b)使用x.readlines()
读取文件行列表,然后对其进行排序
c)将整个文件拆分为[x for x in mylist]
的字符列表,并对字符进行排序,
然后使用''.join(list_of_whatever)
将列表转换回字符串。