gpt4 book ai didi

python - 来自两个 itertools 生成器的组合

转载 作者:太空宇宙 更新时间:2023-11-04 11:10:24 24 4
gpt4 key购买 nike

我有两个列表,我从中生成 itertools 生成器,如下所示:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

import itertools

def all_combinations(any_list):
return itertools.chain.from_iterable(
itertools.combinations(any_list, i + 1)
for i in range(len(any_list)))

combinationList1 = all_combinations(list1)
combinationList2 = itertools.combinations(list2, 2)

使用以下代码我可以找到组合:

for j in combinationList1:
print(j)

现在我想从 combinationList1combinationList2 中进行所有可能的组合,这样所需的输出将是:[1 ,a,b], [1,a,c], [1,b,c], ....., [1,2,3,a,b], [1,2,3,a,c ],[1,2,3,b,c].

我无法从 itertools 组合中创建一个列表,因为真实的数据集列表要大得多。有人想过如何结合使用两个 itertools 吗?

最佳答案

如果你想遍历组合,你可以做 product + chain :

for j in itertools.product(combinationList1, combinationList2):
for e in itertools.chain.from_iterable(j):
print(e, end=" ")
print()

输出

1 a b 
1 a c
1 b c
2 a b
2 a c
2 b c
3 a b
3 a c
3 b c
1 2 a b
1 2 a c
1 2 b c
1 3 a b
1 3 a c
1 3 b c
2 3 a b
2 3 a c
2 3 b c
1 2 3 a b
1 2 3 a c
1 2 3 b c

关于python - 来自两个 itertools 生成器的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58377426/

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