python - 如何使用字典中的值替换列表中的部分值?

标签 python list dictionary

以下方法只能替换一个值:

my_list = ['apple', 'pear', 'grape', 'banana', 'kiwi', 'plum']
my_list = list(map(lambda x: x.replace('apple','strawberry'), my_list))
print(my_list)

['strawberry', 'pear', 'grape', 'banana', 'kiwi', 'plum']

我想尝试添加字典而不是一对值(“旧”、"new"):

my_list = list(map(lambda x: x.replace({'apple':'strawberry', 'banana':'raspberry'}), my_list))

但是会出现一条错误消息:“replace() 需要至少 2 个参数(给定 1 个)”

最佳答案

你可以这样做,

d = {"apple": "strawberry", "banana": "raspberry"}
out = list(map(lambda x: d.get(x, x), my_list))

# Output
# ['strawberry', 'pear', 'grape', 'raspberry', 'kiwi', 'plum']

关于python - 如何使用字典中的值替换列表中的部分值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73902381/

相关文章:

python - 文件名及其路径作为字典不显示所有结果

c# - 通过 lambda 从另一个集合中排除一个集合

python - 为什么我的变量没有定义,我该如何解决?

c++ - 如何在链表的节点之间移动?

c# - 带元组键的不区分大小写的字典

python:检查重复值上的字典键并分配给新字典

python - 解析嵌套的自定义 yaml 标签

python - TypeError: 'int' 对象不支持项目分配

python - 如果使用很长的字符串作为键,在 Dict 中搜索的时间复杂度是多少?

python - 有什么办法django不保存用表单上传的文件