什麼是pythonic
計算兩個列表的所有產品組合的方法。因此,給出兩個長度爲n
的列表,我希望返回包含產品的長度爲2^n
的列表。2個列表的Python組合
像list(itertools.product(on,off))
但結果應該使用所有四個要素,不僅組合對像:
[(1.05, 5.53), (1.05, 3.12), (1.05, 3.75), (1.05, 4.75), (1.5, 5.53), (1.5, 3.12), (1.5, 3.75), (1.5, 4.75), (2.1, 5.53), (2.1, 3.12), (2.1, 3.75), (2.1, 4.75), (1.7, 5.53), (1.7, 3.12), (1.7, 3.75), (1.7, 4.75)]
因此,更多的是這樣的:
off = [5.53,3.12,3.75,4.75]
on = [1.05,1.5,2.1,1.7]
# calculate combinations
x = combinations(on,off)
# Where...
# x[0] = off[0] * off[1] * off[2] * off[3] i.e
# x[0] = 5.53 * 3.12 * 3.75 * 4.75
#
# x[1] = off[0] * off[1] * off[2] * on[3] i.e
# x[1] = 5.53 * 3.12 * 3.75 * 1.7
#
# x[2] = off[0] * off[1] * on[2] * on[3] i.e
# x[2] = 5.53 * 3.12 * 2.1 * 1.7
#
# ...
#
# x[15] = on[0] * on[1] * on[2] * on[3] i.e
# x[15] = 1.05 * 1.5 * 2.1 * 1.7
輸出可以是類似itertools.product()
方法即[(5.53, 3.12, 3.75, 4.75),(5.53, 3.12, 3.75, 1.7), ...]
我需要計算產品,但我在組合方法中很有趣。
注:當我說這樣做的pythonic
方式我的意思是簡單的一兩行取蟒蛇結構的優勢,圖書館(itertools ECT)。
您需要的名單的笛卡爾積? – Woot4Moo
@ Woot4Moo不,這就是'itertools.product()'所做的。 –