用python中存储在dictionary中的项的值替换列表项

2024-09-24 02:14:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表和一个字典,我想用字典的值替换列表项。我的问题的简化版本如下:

#This is a list
a=['dog', 'cat', 'cow']

#This is a dictionary
b={'dog': 'barks', 'cat': 'meows', 'cow': 'moos' } 

现在列出a[0],即在字典b中搜索dog,将找到key dog,我希望它的值在列表a中代替dog

预期输出应该是这样的

a=['barks','meows','moos']

我已经能够在三个文本文件的帮助下做到这一点,其中一个文本文件的格式为“key-value”,在另外两个文本文件中,我分别在split()函数的帮助下提取了key和value,然后匹配索引位置以获得所需的结果。但是,问题是代码太长了。 我试着做上面的方法,我要求,但无法取代的价值观。你知道吗


Tags: key版本列表字典isvaluethislist
3条回答

可能有很多方法可以做到这一点,这里还有一个:

map(b.get, a)

或者

map(lambda x: b[x],a)

链接到map文档:https://docs.python.org/2/library/functions.html#map

你可以使用列表从字典中索引出来

>>> a = [b[i] for i in a]
>>> a
['barks', 'meows', 'moos']

如果您希望list修改到位:

a=['dog', 'cat', 'cow']
b={'dog': 'barks', 'cat': 'meows', 'cow': 'moos' }
for idx,value in enumerate(a):
    a[idx] = b[value]

相关问题 更多 >