Why does dict(k=4, z=2).update(dict(l=1)) return None in Python?
dictionary, python, python-2.7
Solution
The `.update()` method alters the dictionary in place and returns `None`. The dictionary itself is altered, no altered dictionary needs to be returned.
Assign the dictionary first:
a_dict = dict(k=4, z=2)
a_dict.update(dict(l=1))
print a_dict
This is clearly documented, see the `dict.update()` method documentation:
Update the dictionary with the key/value pairs from other, overwriting existing keys. Return `None`.
Problem
Why does `dict(k=4, z=2).update(dict(l=1))` return `None`? It seems as if it should return `dict(k=4, z=2, l=1)`? I'm using Python 2.7 should that matter.