gpt4 book ai didi

python - executor.map() 类型错误 : zip argument #2 must support iteration

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:18 26 4
gpt4 key购买 nike

executor.map() 类型错误:zip 参数 #2 必须支持迭代

当我运行它时,刚生成 TypeError: zip argument #2 must support iteration。谁能帮我解决这个问题?

import time, concurrent.futures
lst100=[i for i in range(100)]

t1=time.clock()
print(list(map(str,lst100)))
t2=time.clock()
print(t2-t1)

t3=time.clock()
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
future_to_url = executor.map(str,lst100, 60)
print(list(future_to_url))
t4=time.clock()
print(t4-t3)

最佳答案

concurrent.futures.Executor.map在语义上等同于内置函数 map .第二个和后续的非关键字 参数指定要将给定函数应用到的可迭代对象。

在您的例子中,您说的是“这里有两个可迭代对象:100 个元素的列表 (lst100) 和整数 60。请调用函数 str() 在每对元素 ab 上分别形成两个可迭代对象,并返回结果列表。”但由于整数 60 实际上不是可迭代对象,因此它失败了。

假设您想指定 60 秒的超时,您需要像这样将其作为关键字参数传递:

future_to_url = executor.map(str, lst100, timeout=60)

关键字参数与位置参数的区别在于在传递值之前存在 name= 前缀。在这种情况下,参数名称是 timeout

关于python - executor.map() 类型错误 : zip argument #2 must support iteration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15737716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com