Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在多个迭代器上不断迭代?_Python_Iterator - Fatal编程技术网

Python 如何在多个迭代器上不断迭代?

Python 如何在多个迭代器上不断迭代?,python,iterator,Python,Iterator,有人能帮我写一段代码,以便在多个迭代器上不断迭代吗。 例如,假设我有几个列表(例如:[1,9]和[2,3,4]),我想从这些列表中得到一个iterable,生成1,2,3,4和9。当然,这个想法是使用更大更复杂的迭代器(否则很容易合并和排序) 谢谢大家! heapq正是为满足您的需要而设计的:它创建了一个迭代器,因此您不必处理庞大的列表。下面是一个简单示例的代码: import heapq a = [1, 4, 7, 10] b = [2, 5, 6, 11] for c in heapq.me

有人能帮我写一段代码,以便在多个迭代器上不断迭代吗。 例如,假设我有几个列表(例如:[1,9]和[2,3,4]),我想从这些列表中得到一个iterable,生成1,2,3,4和9。当然,这个想法是使用更大更复杂的迭代器(否则很容易合并和排序)


谢谢大家!

heapq正是为满足您的需要而设计的:它创建了一个迭代器,因此您不必处理庞大的列表。下面是一个简单示例的代码:

import heapq
a = [1, 4, 7, 10]
b = [2, 5, 6, 11]
for c in heapq.merge(a, b): 
    print(c)

当然,它只在列表已排序时有效,如果未排序,则必须在排序之前对其进行排序。

您的所有多个列表是否都已排序?已经提出的问题:)@Jorropo,它只加入迭代器此问题重点是以排序方式加入谢谢!适用于排序列表。