首页 > 解决方案 > 如何将python中的文本文件排序为数字顺序?我的代码按字母顺序排序,为什么?(我是编码新手)

问题描述

这是我的代码,你能告诉我哪里出错了吗?我希望能够对我的列表进行数字排序,这样我就可以为我正在制作的游戏制作排行榜。这是一个测试,因此代码不会弄乱我的真实代码。

 text_file = open("write.txt","a")
text_file.truncate(0)

def write():
    global text_file
    text_file.write("Sam has, 7")
    text_file.write("\n")
    text_file.write("Tina has, 32")
    text_file.write("\n")
    text_file.write("Joshua has, 105")
    text_file.write("\n")
    text_file.write("Kathryn has, 8")
    text_file.write("\n")
    text_file.close()
write()
with open("write.txt", 'r') as file:
        list2 = []
        for line in file:
            list2.append(line[0:-1].split(","))

print(list2)
print("")
sorted_lines = sorted(list2, key = lambda x : x[-1] )
print(sorted_lines)

标签: python-3.x

解决方案


我的代码按字母顺序排序,为什么?”

您从未将任何内容转换为整数,因此list2包含字符串的列表列表也是如此。

例如,您可以这样做:

sorted(list2, key = lambda x: int(x[-1]))

推荐阅读