Cam*_*arr 34 python arguments map-function
这是我尝试使用该map函数的循环:
volume_ids = [1,2,3,4,5]
ip = '172.12.13.122'
for volume_id in volume_ids:
    my_function(volume_id, ip=ip)
有没有办法可以做到这一点?如果它不是ip参数,那将是微不足道的,但我不知道如何处理它.
Mar*_*ers 70
from functools import partial
mapfunc = partial(my_function, ip=ip)
map(mapfunc, volume_ids)
partial() 创建一个新的可调用对象,除了传递给新的可调用对象之外,它还将任何参数(包括关键字参数)应用于包装函数.
Jas*_*ske 12
这是一种lambda方法(不是更好,只是不同)
volume_ids = [1,2,3,4,5]
ip = '172.12.13.122'
map(lambda ids: my_function(ids, ip), volume_ids);
这可以通过列表理解轻松完成.
volume_ids = [1,2,3,4,5]
ip = '172.12.13.122'
results = [my_function(i,ip=ip) for i in volume_ids]