在python3中如何对这个列表排序?

2024-05-02 00:15:41 发布

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

我正在制作排行榜,目前我采取的数据从一个txt文件,并转储到一个列表

列表的格式如下所示:

[['56', 'UsernameA'], ['73', 'UsernameB'], ['52', 'UsernameC'], ['10', 'UsernameD']]

我想创建一个排行榜,因此我想把列表从最高的数字排序到最低的数字,我尝试使用sort()函数,但是这只适用于整数,我的列表包含用户名和分数,所以我不能将它转换成整数,除非我在这里完全错了


Tags: 文件数据函数txt列表排序格式数字
1条回答
网友
1楼 · 发布于 2024-05-02 00:15:41

如果正确,可以使用sorted()函数或.sort()方法

我可以看到两种选择,以您想要的方式排序;两者都需要基于子列表的第一个元素进行排序;必须转换成整数

然后,您可以直接基于这个启发式,但是您必须使用reverse=True作为函数的参数,以便获得从最高到最低的排序。或者,您可以使用一个小黑客和排序的基础上,这些整数的负数:)

l = [['56', 'UsernameA'], ['73', 'UsernameB'], ['52', 'UsernameC'], ['10', 'UsernameD']]
l.sort(key=lambda j: -int(j[0]))

它将l修改为:

[['73', 'UsernameB'], ['56', 'UsernameA'], ['52', 'UsernameC'], ['10', 'UsernameD']]

相关问题 更多 >