0

私はこの関数を書きました:

def buildAllPairs(l1, l2):
      l=[]
      for s in l1:
          for p in l2:
               l.append((s, p))
      return l

しかし、リストで数字を使用する場合にのみ機能します。アルファベットが NameError になるため、なぜこれが起こっているのか教えてもらえますか?

4

1 に答える 1

4

itertools.product関数を使用します。

>>> import itertools
>>> list(itertools.product([1, 'a'], [2, 'b']))
[(1, 2), (1, 'b'), ('a', 2), ('a', 'b')]

それ自体は、リストではなく、本質的にジェネレーターでitertools.product()あるオブジェクトを返すことに注意してください。itertools.product

于 2013-01-09T09:42:54.217 に答える