一种简单的方法是使用
collections.Counter对象,在大多数情况下,您可以像普通字典一样以各种方式使用该对象,但该对象已进行了优化以保留项目数:
>>> from collections import Counter>>> d = Counter({'0':3, '1':3, '2':4, '3':4, '4':4})>>> dCounter({'3': 4, '2': 4, '4': 4, '1': 3, '0': 3})>>> d.update(d.keys())>>> dCounter({'3': 5, '2': 5, '4': 5, '1': 4, '0': 4})至于仅在满足某些条件时执行此操作,只需使用理解或生成器仅将要增加的键列表传递给
d.update():
>>> d = Counter({'3': 4, '2': 4, '4': 4, '1': 3, '0': 3})>>> d.update((k for k, v in d.items() if v == 4))>>> dCounter({'3': 5, '2': 5, '4': 5, '1': 3, '0': 3})


