以下是我认为应该如何工作的:
dictionary = {'k1': {'a': 'b'}, 'k2': [0, 1]}
pointer = dictionary['k1']
print pointer
>>> {'a': 'b'}
pointer.update({'a': 'c'})
print dictionary
>>> {'k1': {'a': 'c'}, 'k2': [0, 1]}
以下让我感到沮丧:
pointer = dictionary['k2']
print pointer
>>> [0, 1]
pointer.update([2, 3])
>>> AttributeError: 'list' object has no attribute 'update'
我知道 list 没有更新功能,并且知道我可以执行以下操作:
pointer[0] = 2
...但我想要一个更通用的选项来更新参考值,所以对象仍然属于字典,但值已经改变。
这样做的原因是我有一个嵌套字典,看起来像:
dictionary['key']['key']['key']['key']
我的问题不是针对 list 是否具有更新功能-而是我在问是否有更简洁的方法来引用和更改深度嵌套字典中的值,因此将其存储在参考值中会更好看而不是每次我想分配一些东西时都输入它。
谢谢!
编辑:第一个示例中的固定语法
EDIT2:让我明确一点:我知道列表没有update
功能,而是我在询问通用参考值更新
EDIT3:简化问题