嵌套元组列表的高级排序标准

嵌套元组列表的高级排序标准,第1张

嵌套元组列表的高级排序标准

以我的理解,您想按a递减排序,然后按b递增排序,然后按c排序。如果是的话,您可以这样做:

>>> l=[(7, (5, 1)), (7, (4, 1)), (6, (3, 2)), (6, (3, 1))]>>> sorted(l, key = lambda x: (-x[0], x[1]))[(7, (4, 1)), (7, (5, 1)), (6, (3, 1)), (6, (3, 2))]

选择“优胜者”就像选择第一个元素一样简单。

如果将b和c求和,则在我的示例中将简单地

sum(x[1])
代替
x[1]

我的键函数返回一个元组,因为Python正确地对包含多个元素的元组进行了排序:

>>> sorted([(1,2), (1,1), (1,-1), (0,5)])[(0, 5), (1, -1), (1, 1), (1, 2)]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5650580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存