我有一本字典
event_types={"as":0,"ah":0,"es":0,"eh":0,"os":0,"oh":0,"cs":0,"ch":0}
如何将a
替换为append
,s
改为see
,h
改为horse
,e
改为{ {1}}中间有空格。
输出类似:
exp
答案 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'}
您可以根据需要遍历按键并进行更改。