【发布时间】:2022-01-25 13:17:19
【问题描述】:
假设我有一个迭代器列表:
iterators = [ iter([2, 3, 4]), iter([7, 9]), iter([-1, -2, -3, -4]) ]
如何使用上述迭代器创建一个新的迭代器,以便在每个步骤中随机选择列表中存在的一个迭代器(尚未完成)并从中输出下一个元素?它应该一直输出元素,直到所有迭代器都完成。
因此,例如,如果新的迭代器是it_combined,我可能会在尝试对其进行迭代时得到以下输出
>>> for it in it_combined:
... print(it, end=" ")
...
2 7 3 -1 4 -2 -3 -4 9
【问题讨论】:
-
一般情况下你能创建迭代器吗?你看过
itertools标准库模块文档中的例子吗? -
@KarlKnechtel 我已经从this 页面阅读了有关迭代器的信息,但我还没有阅读
itertools库模块文档。我想我现在就去做 -
我之所以问,是因为现在给出的答案对于那些了解相关技术的人来说是直截了当的。有时人们确实知道这些事情,只需要推动尝试即可。不过,如果您从这些答案中学到了一些新东西,那就更好了。