要在 Python 中将列表加载到队列中,我发现这段代码片段无法正常工作。没有项目被添加到队列中:
from queue import Queue
my_list = [1,2,3,4,5,6,7,8,9,10]
q = Queue()
# This code doesn't work
map(q.put, my_list)
q.qsize() # Returns zero, which is unexpected
更详细的解决方案:
for num in my_list:
q.put(num)
print(q.qsize()) # returns 10 as expected
按预期工作。我在这里缺少什么?
请您参考如下方法:
map(q.put, my_list) 只返回一个迭代器。除非你遍历它,否则你的队列 q 不会被填充
>>> q = Queue()
>>> itr = map(q.put, my_list)
>>> q.qsize()
0
>>> _ = list(map(q.put, my_list))
>>> q.qsize()
10
