如果字典中的键已经存在,我只想更改它的值。
我可以使用以下函数来做到这一点,但我想知道是否有更简洁的方法来做到这一点。
def modify_existing_key_value(d, key, new_value):
if key in d:
d[key] = new_value
else:
raise KeyError(k)
用例是无意中避免在字典中创建新的键值对。
如果字典中的键已经存在,我只想更改它的值。
我可以使用以下函数来做到这一点,但我想知道是否有更简洁的方法来做到这一点。
def modify_existing_key_value(d, key, new_value):
if key in d:
d[key] = new_value
else:
raise KeyError(k)
用例是无意中避免在字典中创建新的键值对。
只需尝试使用键访问元素,如果它存在,则不会发生任何事情,因此执行将继续执行下一条重置值的指令,否则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]