Python:排序嵌套列表

Joh*_*ine -1 python list python-2.7

假设有一个像[name,score]这样的列表

record = [['Harry',37.21],['Berry',37.21],['Tina',37.2],['Akriti',41],['Harsh',39]]
Run Code Online (Sandbox Code Playgroud)

我想打印得分第二低的记录名称.如果两个记录具有相同的最低分数,我需要根据它们的名称对它们进行排序然后打印.我知道我们可以使用

record.sort(key..)

获得根据分数排序的值.但如何检查第二低分,然后检查名称.

Jor*_*ley 6

second_lowest = sorted(my_list,key=lambda x:x[::-1])[1]
Run Code Online (Sandbox Code Playgroud)

不确定你对关系和什么是什么意思......但是这应该首先按分数排序并按字母顺序排列关系,通过反转我们正在排序记录的项目 [score,name]

这基本上只是滥用了元组/列表在第一个键绑定时自然地对渐进键进行排序的事实

sorted([[1,2,3],[1,2,4],[3,2,1],[1,1,2]])
Run Code Online (Sandbox Code Playgroud)

  • 我不认为那是OP想要的.他希望按等级排序,反转,然后按字母顺序排序:"如果两个记录的得分相同,我需要根据他们的名字对它们进行排序然后打印" (2认同)