为了账号安全,请及时绑定邮箱和手机立即绑定

按内部列表中元素的总和对元组列表进行排序

按内部列表中元素的总和对元组列表进行排序

森林海 2021-09-14 17:23:11
我正在尝试生成一个函数,该函数返回列表>元组>列表组合中各个数字之和的排序列表。例子:unsorted_list = [('red', [5, 2, 1]), ('blue', [1, 0, 1]), ('green', [2, 3, 2])]程序需要查看列表中的数字,将它们相加(8,2,7),然后对数字进行排序,使排序列表与未排序列表的格式相同,但按数字总和排序。要生成这样的列表:sorted_list = [('blue', [1, 0, 1]), ('green', [2, 3, 2]), ('red', [5, 2, 1])]注意数字本身是如何不改变顺序的——这是一个关键要求,因为它与坐标有关。只是基于数字总和的列表元素的顺序。
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

您可以使用lambda函数作为键进行排序。此 lambda 函数返回未排序列表中元组的列表元素的总和:

>>> sorted(unsorted_list, key=lambda x: sum(x[1]))
[('blue', [1, 0, 1]), ('green', [2, 3, 2]), ('red', [5, 2, 1])]


查看完整回答
反对 回复 2021-09-14
  • 1 回答
  • 0 关注
  • 206 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号