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