5

を使用するときに、反復で要素が重複しているタプルをスキップするにはどうすればよいitertools.productですか? あるいは、イテレーションでそれらを見てはいけないということはありますか? リストの数が多すぎると、スキップに時間がかかる場合があるためです。

Example,
lis1 = [1,2]
lis2 = [2,4]
lis3 = [5,6]

[i for i in product(lis1,lis2,lis3)] should be [(1,2,5), (1,2,6), (1,4,5), (1,4,6), (2,4,5), (2,4,6)]

ここでは 2 が重複しているため、(2,2,5)ありません。(2,2,6)どうやってやるの?

4

3 に答える 3

5
lis1 = [1,2]
lis2 = [2,4]
lis3 = [5,6]
from itertools import product
print [i for i in product(lis1,lis2,lis3) if len(set(i)) == 3]

出力

[(1, 2, 5), (1, 2, 6), (1, 4, 5), (1, 4, 6), (2, 4, 5), (2, 4, 6)]
于 2013-11-02T17:15:52.093 に答える