首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自两个迭代工具生成器的组合

来自两个迭代工具生成器的组合
EN

Stack Overflow用户
提问于 2019-10-14 13:00:42
回答 1查看 183关注 0票数 2

我从其中生成迭代工具生成器的两个列表如下:

代码语言:javascript
复制
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)

通过下面的代码,我可以找到这些组合:

代码语言:javascript
复制
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。

我无法从迭代工具组合中生成一个列表,因为实际的数据集列表要大得多。有人想过如何使用两个迭代工具的组合吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-14 13:07:26

如果要迭代组合,可以执行产品 + 链条

代码语言:javascript
复制
for j in itertools.product(combinationList1, combinationList2):
    for e in itertools.chain.from_iterable(j):
        print(e, end=" ")
    print()

输出

代码语言:javascript
复制
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 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58377426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档