什么是将双参数 lambda
函数映射
到值列表的优雅方法,其中第一个参数是常量,第二个参数取自 列表
?
示例:
lambda x,y: x+y
x='a'
y=['2','4','8','16']
预期结果:
['a2','a4','a8','a16']
注意事项:
- 这只是一个例子,实际的lambda函数更复杂
- 假设我不能使用列表理解
最佳答案
您可以使用itertools.starmap
a = itertools.starmap(lambda x,y: x+y, zip(itertools.repeat(x), y))
a = list(a)
你得到了你想要的输出。
顺便说一句,itertools.imap
和 Python3 的 map
都将接受以下内容:
itertools.imap(lambda x,y: x+y, itertools.repeat(x), y)
默认的 Python2 的 map
不会在 y
的末尾停止,并且会插入 None
s...
但是理解好
[x + num for num in y]
关于python - 用常量 x 映射 lambda x,y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647792/