我已经得到了一个格式编号、名称的数组,并且我试图使用sort()函数将它从最高的数字排序到最低的。
我目前正在数组上使用sort(),然后反转结果,但是它似乎没有正确地排序。
下面是我使用的值:
['850.766666667', 'Chris'], ['332.466666667', 'Callum'], ['655.793939394', 'James'], ['84.9444444443', 'John']
这就是我得到的结果:
[('850.766666667', 'Chris'), ('84.9444444443', 'John'), ('655.793939394', 'James'), ('332.466666667', 'Callum')]
正如您可能看到的,('84.9444444443', 'John')
应该在末尾,但是它是排序之后的第二个值。
我做错了什么?
发布于 2015-04-21 05:52:40
几乎正确@Zaaferani
l = ['850.766666667', 'Chris'], ['332.466666667', 'Callum'], ['655.793939394', 'James'], ['84.9444444443', 'John']
sorted(l, key=lambda k: float(k[0]), reverse=True)
如果不存储排序函数的输出
l=sorted(l, key=lambda k: float(k[0]), reverse=True)
发布于 2015-04-21 05:47:53
使用此代码
l = ['850.766666667', 'Chris'], ['332.466666667', 'Callum'], ['655.793939394', 'James'], ['84.9444444443', 'John']
sorted(l, key=lambda k: float(k[0]), reverse=True)
https://stackoverflow.com/questions/29773988
复制相似问题