特別是我正在查看是否有一些cartesian_product()方法內置到python中,或者使用itertools來完成這項工作,從而避免編寫嵌套的多維循環。python:我如何實現列表中所有列表的笛卡爾積?
例如我有以下
input = [
[1],
[[2]],
[3],
[[a,b,c] , [[z,x,y]] , [d,f,g]],
4
]
期待:
output = [
[1,2,3,a,b,c,4]
[1,2,3,z,x,y,4]
[1,2,3,d,f,g,4]
]
的一個特別的挑戰是,如在上述輸入列表,一個項目可以具有一個列表的任何層,但它應該能夠忽略所有這些並且仍然產生平坦的結果。
該示例不是笛卡爾產品! – alfasin 2014-12-07 05:01:27
此外,'input'是python中的一個關鍵字 - do * not *用它作爲變量名! – alfasin 2014-12-07 05:06:04
相關:http://stackoverflow.com/questions/533905/get-the-cartesian-product-of-a-series-of-lists-in-python – dmcc 2014-12-07 05:07:36