替换字典中的键

时间:2015-09-17 05:54:17

标签: python string python-2.7 dictionary

我有一本字典

event_types={"as":0,"ah":0,"es":0,"eh":0,"os":0,"oh":0,"cs":0,"ch":0}

如何将a替换为appends改为seeh改为horsee改为{ {1}}中间有空格。

输出类似:

exp

4 个答案:

答案 0 :(得分:15)

让你的替换词有另一本字典,比如

keys = {"a": "append", "h": "horse", "e": "exp", "s": "see"}

现在,如果您的活动看起来像这样

event_types = {"as": 0, "ah": 0, "es": 0, "eh": 0}

简单地用字典理解重建它,就像这样

>>> {" ".join([keys[char] for char in k]): v for k, v in event_types.items()}   
{'exp see': 0, 'exp horse': 0, 'append see': 0, 'append horse': 0}

此处," ".join([keys[char] for char in k])会迭代k中的字符,从keys字典中提取相应的字词并形成一个列表。然后,列表的元素与空格字符连接,以获得所需的键。

答案 1 :(得分:3)

迭代原始字典的键和值,转换键,然后使用转换后的键将值存储在结果字典中。要转换键,映射其字符,请在映射字典({ "a" : "append", ... })中查找,然后使用空格连接。

答案 2 :(得分:3)

首先创建一个映射字典,将单个字母映射到单词:

mm={"a":"append", "s":"see","h":"horse","e":"exp","c":"corn","o":"ocelot"}

然后将输入字典转换为键,值元组列表,使用映射dict重写键,并创建由新键,原始值组成的新元组列表,最后将元组列表转换为字典。< / p>

dict(map(lambda e: ("%s %s" % (mm[e[0][0]], mm[e[0][1]]), e[1]), event_types.items()))

答案 3 :(得分:2)

不确定您是否可以追加,但您可以执行以下操作:

>>> dict={}
>>> dict={"a":"b"}
>>> dict["aha"]=dict.pop("a")
>>> dict
{'aha': 'b'}

您可以根据需要遍历按键并进行更改。