In [20]: from collections import Counter In [21]: x = [Counter()] In [22]: z = x[0] In [23]: z.update("w") In [24]: z Out[24]: Counter({'w': 1}) In [25]: x Out[25]: [Counter({'w': 1})] In [26]: z += Counter(["q"]) In [27]: z Out[27]: Counter({'q': 1, 'w': 1}) In [28]: x Out[28]: [Counter({'w': 1})] I would have expected x to be [Counter({'q': 1, 'w': 1})]. What is happening?