gpt4 book ai didi

python - Python 中对元素进行分组的 list 方法

转载 作者:行者123 更新时间:2023-12-01 00:43:53 24 4
gpt4 key购买 nike

感谢您的所有回答,但我编辑了我的问题,因为所有人都不清楚。我有以下元组列表:

[("ok",1),("yes",1),("no",0),("why",1),("some",1),("eat",0),("give",0),("about",0),("tell",1),("ask",0),("be",0)]

我想要:

[("ok yes","no"),("why some","eat give about"),("tell","ask be")]

谢谢!

所以我想重新组合所有 1,当出现 0 时,我将值添加到列表中,并为下一个值创建一个新元素。

最佳答案

您可以使用itertools.groupby:

from itertools import groupby
d = [("ok",1),("yes",1),("no",0),("why",1),("some",1),("eat",0),("give",0),("about",0),("tell",1),("ask",0),("be",0)]
new_d = [' '.join(j for j, _ in b) for _, b in groupby(d, key=lambda x:x[-1])]
result = [(new_d[i], new_d[i+1]) for i in range(0, len(new_d), 2)]

输出:

[('ok yes', 'no'), ('why some', 'eat give about'), ('tell', 'ask be')]

关于python - Python 中对元素进行分组的 list 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57143718/

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