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 回答