为什么这段代码按字符排序而不是按行排序?

2024-03-28 18:41:12 发布

您现在位置:Python中文网/ 问答频道 /正文

f=open("classa2.txt", "r")
data=f.read()
x=sorted(data)
print(x)

这个文件的意思是排序我的数据,但它不做什么,有什么想法如何修复它? 我的文件中的数据是:

james:["6.0"]
gim["7.0"]
him["2.3333333333333335"] 

但它显示:

['\n', '\n', '\n', '\n', ' ', ' ', ' ', "'", "'", "'", "'", "'", "'", '.',             '.', '.', '0', '0', '2', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '5', '6', '7', ':', ':', ':', '[', '[', '[', ']', ']', ']',   'a', 'e', 'g', 'h', 'i', 'i', 'j', 'm', 'm', 'm', 's']

当预期结果为:

gim["7.0"]
him["2.3333333333333335"] 
james:["6.0"]

为什么


Tags: 文件数据txtreaddata排序opensorted
1条回答
网友
1楼 · 发布于 2024-03-28 18:41:12

^{}不到位。它将只返回一个排序的列表。你得把它分配回去

data = sorted(data)

这将在排序后覆盖data的内容

f=open("classa2.txt", "r")
data=f.readlines()
data=sorted(data)
print(data)

要打印列表的内容,您必须

for i in data:
    print(i.strip('\n'))

相关问题 更多 >