如何执行算术来对列表进行排序

问题描述:

我有一个由两个数字组成的列表。如何执行算术来对列表进行排序

[[2, 3], [7, 8], [3, 5]] 

我想基于将对它们进行排序的每个:

例如,2/3(0.666),7/8(0.875)3/5(0.6) 到输出:

[[3, 5], [2, 3], [7, 8]] 

我假设我会以某种方式使用lambda,但我不知道如何正确编写它。类似这样的,但这只是按值排序:

list_of_lists.sort(key=lambda x: (x[0],x[1])) 

如何执行算术?

lists = [[2, 3], [7, 8], [3, 5]] 
lists.sort(key=lambda x: (x[0]/x[1])) 
print(lists) 
+1

python 2.x用户的旁注:在这里你必须将其中一个操作符转换为浮点。 例如: 'float(x [0])/ x [1]' – cbo

+0

感谢@cbo为'python 2.x'用户添加Sidenote。 –

+0

我相信cbo暗示你可能想编辑你的答案来反映这个笔记。毕竟,评论不一定会永远存在。 –

愿这一个对你有帮助。

a=[[2, 3], [7, 8], [3, 5]] 
print (sorted([a[i][0]/a[i][1] for i in range(len(a))])) 
+0

为什么投了票? –