在 .txt 文件中使用冒泡排序

Using bubble sort inside a .txt file

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

谁能解释一下这个错误,谢谢。

您要执行的操作等同于:

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)将列表转回字符串。