代码之家  ›  专栏  ›  技术社区  ›  Pro Q Rich Lysakowski PhD

如何使用迭代器将迭代器列表转换为所有可能的列表[duplicate]

  •  0
  • Pro Q Rich Lysakowski PhD  · 技术社区  · 7 年前

    我有一个迭代器列表,例如 l = [range(1), range(2), range(3)] 每一个迭代器都迭代可能在该槽中的可能性。

    然而,我不知道名单会有多长。 在这种情况下,为了得到我想要的,我可以很容易地做到 [[val1, val2, val3] for val1 in l[0] for val2 in l[1] for val3 in l[2]]

    我已经看了很多了 itertools

    什么函数可以接收迭代器列表并生成列表的所有可能性列表,其中列表中的每个值都是插槽中一个生成器的值?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Pro Q Rich Lysakowski PhD    7 年前

    当我输入这个问题时,我意识到实际上有一个itertools函数可以实现这一点。

    list(itertools.product(*l)) 这就是诀窍。