用下面的代碼:嵌套發電機表情表現異常
A = [1, 2]
B = [-2, -1]
C = [-1, 2]
D = [0, 2]
ab = (a + b for a in A for b in B)
cd = (c + d for c in C for d in D)
abcd = (e_ab + e_cd for e_ab in ab for e_cd in cd)
的len(abcd)
預計16
,但它實際上是4
。如果我用列表理解來代替,問題就會消失。這是爲什麼?
這也可以寫成map(sum,itertools.product(A,B,C,D))'。 – deltab