use*_*093 3 python arrays sorting
我有一个3元组的数组,我想按照Python中每个元组的元素减少的顺序对它们进行排序.所以,例如,给定阵列
[(3,2,3),(2,2,2),(6,4,1)]
由于3*2*3 = 18,2*2*2 = 8,6*4*1 = 24,最终结果将是
[(6,4,1),(3,2,3),(2,2,2)]
我知道如何排序,例如,元组的第一个元素,但我不知道如何解决这个问题.任何帮助将不胜感激.谢谢!
jwo*_*der 11
使用/ 的key参数指定用于计算产品的函数,并将参数设置为使结果降序而不是升序,例如:sortedlist.sortreverseTrue
from operator import mul
print sorted([(3,2,3), (2,2,2), (6,4,1)], key=lambda tup: reduce(mul, tup), reverse=True)
Run Code Online (Sandbox Code Playgroud)