Python:修改现有的键值对,如果key不存在则引发异常

时间:2013-04-27 00:01:28

标签: python

我只想更改字典中键的值(如果它已经存在)。

我可以使用以下函数执行此操作,但我想知道是否有更简洁的方法来执行此操作。

def modify_existing_key_value(d, key, new_value):
    if key in d:
        d[key] = new_value
    else:
        raise KeyError(k)

用例是无意中避免在字典中创建新的键值对。

1 个答案:

答案 0 :(得分:6)

只是尝试使用密钥访问元素,如果它在那里,没有任何反应,那么执行将继续执行下一条重置值的指令,否则将引发KeyError异常,如你所愿:

def modify_existing_key_value(d, key, new_value):
    d[key] # We don't need the old value, just checking the key
    d[key] = new_value

该功能第一行的全部目的:

d[key]
如果字典不包含密钥,

将引发KeyError异常。

使用d [key]引发KeyError例外,单行可能是:

d[key] = new_value if key in d else d[key]