gpt4 book ai didi

python - 从一维列表创建列表列表,按长度对每个元素进行分组

转载 作者:行者123 更新时间:2023-12-01 02:25:07 27 4
gpt4 key购买 nike

假设我有一个简单的列表:

flat_list = ["one", "a", "two", "b", "ab"]

我的目标是获取一个列表列表,每个列表包含具有相同长度的每个元素,如下所示:

list_lists = [["one", "two"], ["a", "b"], ["ab"]]

是否可以通过简单的列表理解来完成此任务?

最佳答案

使用itertools.groupby为了实现这一点(首先我们使用 sorted 按长度对列表进行排序,以便 groupby 按照我们想要的方式工作):

[list(group) for key, group in groupby(sorted(flat_list, key=len, reverse=True), len)]
<小时/>
>>> from itertools import groupby
>>> flat_list = ["one", "two", "a", "b", "ab"]
>>> list_of_lists = [list(group) for key, group in groupby(sorted(flat_list, key=len, reverse=True), len)]
>>>
>>> list_of_lists
[['one', 'two'], ['ab'], ['a', 'b']]
>>>

关于python - 从一维列表创建列表列表,按长度对每个元素进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47492077/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com