The following works how I believe it should: 

```
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]} 

```

The following frustrates me:

```
pointer = dictionary['k2']
print pointer
>>> [0, 1]
pointer.update([2, 3])
>>> AttributeError: 'list' object has no attribute 'update'  

```

**I am aware list has no update function** and understand I could do something like: 

```
pointer[0] = 2

```

... but I would like a more universal option to update a reference value, so the object still belongs to the dictionary but the value has changed. 

The reason for this being I have a nested dictionary that looks something like: 

```
dictionary['key']['key']['key']['key'] 

```

My question is not aimed around if list has an update function - rather **I'm asking if there's a cleaner way to reference and change a value inside of a deeply nested dictionary** so it would be nicer on the eyes to store that in a reference value rather than type it all out every time I want to assign something to it. 

Thanks!

EDIT: Fixed syntax in first example  

EDIT2: Let me be clear: I'm aware list does not have an `update` function, rather I'm asking about a universal reference value update  

EDIT3: simplified question