私はこの関数を書きました:
def buildAllPairs(l1, l2):
l=[]
for s in l1:
for p in l2:
l.append((s, p))
return l
しかし、リストで数字を使用する場合にのみ機能します。アルファベットが NameError になるため、なぜこれが起こっているのか教えてもらえますか?
私はこの関数を書きました:
def buildAllPairs(l1, l2):
l=[]
for s in l1:
for p in l2:
l.append((s, p))
return l
しかし、リストで数字を使用する場合にのみ機能します。アルファベットが NameError になるため、なぜこれが起こっているのか教えてもらえますか?
itertools.product
関数を使用します。
>>> import itertools
>>> list(itertools.product([1, 'a'], [2, 'b']))
[(1, 2), (1, 'b'), ('a', 2), ('a', 'b')]
それ自体は、リストではなく、本質的にジェネレーターでitertools.product()
あるオブジェクトを返すことに注意してください。itertools.product