加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中对多维列表进行深度排序的最有效/最干净的方法是什么

发布时间:2020-12-20 13:25:01 所属栏目:Python 来源:网络整理
导读:例: 从这个清单: list = [[10,9,1],[2,1,],[4,11,16]] 我想: print list[[1,4,9],[10,16]] 是否可以使用list.sort()函数或者我是否必须编写自定义循环? 解决方法 下面是@Inerdia在上面的评论中建议的展平,排序,然后重建嵌套列表的示例. 我试图在可能的情
例:
从这个清单:

list = [[10,9,1],[2,1,],[4,11,16]]

我想:

print list
[[1,4,9],[10,16]]

是否可以使用list.sort()函数或者我是否必须编写自定义循环?

解决方法

下面是@Inerdia在上面的评论中建议的展平,排序,然后重建嵌套列表的示例.

我试图在可能的情况下使用生成器和迭代器,但我确信有更聪明,更有效的方法来获得结果!

from itertools import izip

l = [[10,16]]
# flatten the list and sort it
f = sorted(inner for outer in l for inner in outer)
# group it into 3s again using izip
new_list = [list(l) for l in izip(*[iter(f)]*3)]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读