2024-05-02 00:15:41 发布
网友
我正在制作排行榜,目前我采取的数据从一个txt文件,并转储到一个列表
列表的格式如下所示:
[['56', 'UsernameA'], ['73', 'UsernameB'], ['52', 'UsernameC'], ['10', 'UsernameD']]
我想创建一个排行榜,因此我想把列表从最高的数字排序到最低的数字,我尝试使用sort()函数,但是这只适用于整数,我的列表包含用户名和分数,所以我不能将它转换成整数,除非我在这里完全错了
sort()
如果正确,可以使用sorted()函数或.sort()方法
sorted()
.sort()
我可以看到两种选择,以您想要的方式排序;两者都需要基于子列表的第一个元素进行排序;必须转换成整数
然后,您可以直接基于这个启发式,但是您必须使用reverse=True作为函数的参数,以便获得从最高到最低的排序。或者,您可以使用一个小黑客和排序的基础上,这些整数的负数:)
reverse=True
l = [['56', 'UsernameA'], ['73', 'UsernameB'], ['52', 'UsernameC'], ['10', 'UsernameD']] l.sort(key=lambda j: -int(j[0]))
它将l修改为:
l
[['73', 'UsernameB'], ['56', 'UsernameA'], ['52', 'UsernameC'], ['10', 'UsernameD']]
如果正确,可以使用
sorted()
函数或.sort()
方法我可以看到两种选择,以您想要的方式排序;两者都需要基于子列表的第一个元素进行排序;必须转换成整数
然后,您可以直接基于这个启发式,但是您必须使用
reverse=True
作为函数的参数,以便获得从最高到最低的排序。或者,您可以使用一个小黑客和排序的基础上,这些整数的负数:)它将
l
修改为:相关问题 更多 >
编程相关推荐