Python - 对嵌套列表的列表进行排序
我的输入由如下所示的嵌套列表列表组成:
l = [[[[[39]]]], [1, 2, 3], [4, [5, 3], 1], [[[[8, 9], 10], 11], 12]]
我想根据嵌套列表中所有数字的总和对该列表进行排序...因此,我想要排序的 l 值如下所示:
[39, 6, 13, 50]
然后我想根据这些进行排序。 所以输出应该是:
[[1, 2, 3], [4, [5, 3], 1], [[[[39]]]], [[[[8, 9], 10], 11], 12]]
这样做的一个很好的 pythonic 方法是什么?
I have input consisting of a list of nested lists like this:
l = [[[[[39]]]], [1, 2, 3], [4, [5, 3], 1], [[[[8, 9], 10], 11], 12]]
I want to sort this list based on the sum of all the numbers in the nested lists... so, the values I want to sort by of l would look like this:
[39, 6, 13, 50]
Then I want to sort based on these. So the output should be:
[[1, 2, 3], [4, [5, 3], 1], [[[[39]]]], [[[[8, 9], 10], 11], 12]]
What's a nice pythonic way of doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用最近添加的 python 语法对迄今为止提供的答案进行了轻微的简化和概括:
A slight simplification and generalization to the answers provided so far, using a recent addition to python's syntax:
一个小的递归函数就可以做到这一点:
A little recursive function would do it:
其中
sum_nested()
是:Where
sum_nested()
is: