1
能否请你帮我算出这个排序基于最大长度和最大总和
q = [[12, 13, 14], [8, 9, 10,11], [2, 3, 4], [5, 6, 7]]
想我也喜欢Q A名单,我怎么排序的基础上
- 最大长度子列表的和 的子列表的
- 最大总和
输出应为:
个q = [[8,9,10,11],[12,13,14][5,6,7],[1,2,3]]
能否请你帮我算出这个排序基于最大长度和最大总和
q = [[12, 13, 14], [8, 9, 10,11], [2, 3, 4], [5, 6, 7]]
想我也喜欢Q A名单,我怎么排序的基础上
输出应为:
个q = [[8,9,10,11],[12,13,14][5,6,7],[1,2,3]]
供应的标准,为key
lambda函数:
sorted(q, key=lambda sub: (len(sub), sum(sub)), reverse=True)
>>> [[8, 9, 10, 11], [12, 13, 14], [5, 6, 7], [2, 3, 4]]
的lambda
功能将每个子列表x
和排序是基于它的len
,在情况下的len
结果不足以作出决定,其内容的sum
用于打破平局。
尝试:
sorted(q, lambda a,b: len(b)-len(a) or sum(b)-sum(a))
@Jim它工作在Python 2而不是在Python 3 – acw1668
唉唉它使用'cmp'在Python 2.我已经完全忘记了这一点,我会劝你那点这不是最便携的选择;-)。 –