[英]using itertools to generate the Cartesian product of list of lists
我試圖解決中提到的問題這篇文章 。 考慮D=[d1,...,dm]
非負整數的列表。 我想要一組range(d1),...,range(dm)
的笛卡爾積。 例如,如果m=3
我可以使用itertools:
indices=[i for i in itertools.product(range(d1),range(d2),range(d3))]
如果您能幫助我知道如何使用任意長度的D
生成indices
將不勝感激。
您可以使用map
將D
所有項目映射到range
,然后將它們解壓為product
:
indices=list(itertools.product(*map(range, D)))
您可以使用*
:
[i for i in itertools.product(*map(range, D))]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.