使用itertools生成列表列表的笛卡尔积

发布于 2021-01-29 15:02:11

我试图解决中提到的问题这篇文章。考虑D=[d1,...,dm]一个非负整数列表。我想要一套的笛卡尔积range(d1),...,range(dm)。例如,如果m=3我可以使用itertools:

 indices=[i for i in itertools.product(range(d1),range(d2),range(d3))]

如果您能帮助我知道如何生成任意长度的indicesusing D,我将不胜感激。

关注者
0
被浏览
88
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用map映射的所有项目Drange,然后解开他们product

    indices=list(itertools.product(*map(range, D)))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看