如何使用这些迭代器将迭代器列表转换为所有可能的列表

时间:2018-11-25 07:59:01

标签: python list iterator

我有一个迭代器列表,例如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 个答案:

答案 0 :(得分:0)

当我输入这个问题时,我意识到实际上有一个itertools函数可以完成此任务。

list(itertools.product(*l))可以解决问题。

我想我会把这个问题作为一个自我回答的问题发布,以防其他人使用类似的术语。