草庐IT

压缩对象上的 python map()

我有两个输入列表a和b以及一个接受两个输入的函数,比方说deff(x,y):returnx*y如何使用map()进行此设置?我试过了map(f,zip(a,b))得到了TypeError:f()takesexactly2arguments(1given)这是有道理的,因为我需要解压缩压缩的输入。我该怎么做? 最佳答案 map不会将可迭代对象解包为您的函数参数,而是作为处理此类问题的更通用方法,您可以使用starmap()来自itertools模块的函数,当参数参数已经从单个可迭代的元组中分组时,应该使用它而不是map():fromi

python - 我可以将 map/imap/imap_unordered 与不带参数的函数一起使用吗?

有时我需要对不带参数的函数使用多处理。我希望我能做类似的事情:frommultiprocessingimportPooldeff():#noargumentreturn1#TypeError:f()takesnoarguments(1given)printPool(2).map(f,range(10))我可以做Process(target=f,args=()),但我更喜欢map/imap/imap_unordered。有办法吗? 最佳答案 您可以像这样使用pool.starmap()而不是.map():frommultiproces