标准库中没有用于此目的的东西,但是自己编写代码很容易:
>>> key = "root.secondary.user2">>> reduce(dict.get, key.split("."), my_dict){'age': 25, 'name': 'fred'}这利用了以下事实:
k字典中对关键字的查找
d可以写为
dict.get(d, k)。使用迭代地应用此操作可获得
reduce()预期结果。
编辑 :为了完整性,使用此方法可以获取,设置或删除字典键的三个功能:
def get_key(my_dict, key): return reduce(dict.get, key.split("."), my_dict)def set_key(my_dict, key, value): key = key.split(".") my_dict = reduce(dict.get, key[:-1], my_dict) my_dict[key[-1]] = valuedef del_key(my_dict, key): key = key.split(".") my_dict = reduce(dict.get, key[:-1], my_dict) del my_dict[key[-1]]


