python - 用常量 x 映射 lambda x,y

标签 python map lambda

什么是将双参数 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 的末尾停止,并且会插入 Nones...


但是理解

[x + num for num in y]

关于python - 用常量 x 映射 lambda x,y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647792/

相关文章:

java - 使用什么数据结构?

c# - 如何构建 Fluent Nested Guard API

python - 即使我有模型、yaml 文件等,在 Visual Studio 中使用 DBT 命令时出现问题

python - 使用 Gitlab API 添加 SSH key 时出现 Http 404 错误

python - PyQt中如何在两个窗口之间进行通信或切换?

list - 列表的 Groovy 映射到映射列表

python - 嵌套字典理解以避免空值

scala - 字符串上的 Map 与 FlatMap

c# - 将匿名 lambda 转换为强类型委托(delegate)会禁用编译器缓存吗?

无法反序列化访问实例字段和方法的 Java 8 lambda