我正在尝试学习 Python,我遇到了这样的问题。
我有一个列表:
a = [[10,5],[9,3],[16,2],[8,8]]
我想获得一个列表,该列表将按 divion arr[i][0]/arr[i][1] 的值 desc 排序。例如对于列表 a(排序后)我想要:
a =[[8,8],[10,5],[9,3],[16,2]]
我尝试在 a.sort(key = lambda .....) 中使用 lambda 但我失败了。
你能帮我理解它是怎么回事吗?
最佳答案
使用sorted()
使用 key
,例如:
>>> a = [[10,5],[9,3],[16,2],[8,8]]
>>> sorted(a, key= lambda x: x[0]/x[1])
[[8, 8], [10, 5], [9, 3], [16, 2]]
来自文档,
key specifies a function of one argument that is used to extract a comparison key from each list element
这里,lambda
函数返回第一个元素除以第二个元素的答案
lambda x: x[0]/x[1]
关于python - 按除法值排序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520521/