问题描述
谁能帮我写一段代码,以便越来越多地迭代多个迭代器。 举个例子,假设我有几个列表(例如:[1,9] 和 [2,3,4]),我想从这些列表中获得一个可迭代的结果 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)
当然,它只有在你的列表被排序时才有效,如果他们没有排序,你必须先对它们进行排序。