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

时间:2016-11-19 19:09:43

标签: python python-3.x sorting numbers bubble-sort

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

请有人解释这个错误,谢谢。

1 个答案:

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