修复了python中Map()的参数

时间:2016-01-24 20:08:23

标签: python dictionary

对于没有for循环的一个固定参数的列表上的用户映射有没有?例如

def addx(x, y):
  return x + y

print map(addx, 10, [10,20])

输出应为20和30

由于

3 个答案:

答案 0 :(得分:5)

functools.partial()救援:

from functools import partial

map(partial(addx, 10), [10, 20])

演示:

>>> from functools import partial
>>>
>>> def addx(x, y):
...   return x + y
... 
>>> map(partial(addx, 10), [10, 20])
[20, 30]

答案 1 :(得分:2)

您可以使用lambda匿名函数创建器仅使用一个参数内联新函数:

Python 2.7.10 (default, Aug 22 2015, 20:33:39)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def addx(x,y):
...     return x+y
...
>>> map(lambda x: addx(x,10), [10, 20])
[20, 30]
>>>

答案 2 :(得分:0)

您还可以使用列表推导:

def addx(x, y):
    return x + y

print [addx(10, i) for i in [10,20]]