Skip to main content
 首页 » 编程设计

python之将 map 与 queue.put() 一起使用

2025年05月04日22shanyou

要在 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