gpt4 book ai didi

python - 从文本文件中订购具有多种数据类型的列表

转载 作者:行者123 更新时间:2023-11-28 18:07:19 25 4
gpt4 key购买 nike

正如标题所说,我正在尝试对具有多种数据类型的列表进行排序,即“123 - abc”、“20 - xyz”等。我尝试使用 .sort( ) 和 .sorted() 像这样:

import csv

x = open("leaderboard.txt","r")
reader = csv.reader(x)
allRows = [row for row in reader]
allRows.sort(reverse = True)
print(allRows)

但这命令错了。

应该按数字降序排列,“123 - xyz”“20 - abc”“10 - xyz”,但它的顺序是“20 - abc”“123 - xyz”“10 - xyz”

感谢任何帮助。

最佳答案

您看到的是字符串排序。例如,'100' 将排在 '2' 之前(升序),因为每个字符都是按顺序排列的。您需要提供一个带有自定义函数的 key 参数,该函数将字符串的一部分转换为 int:

L = ["123 - xyz", "20 - abc", "10 - xyz"]

res = sorted(L, key=lambda x: int(x.split()[0]), reverse=True)

["123 - xyz", "20 - abc", "10 - xyz"]

关于python - 从文本文件中订购具有多种数据类型的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52808093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com