您可以使用使用和的配方:
collections.Counter``collections.OrderedDict
from collections import Counter, OrderedDictclass OrderedCounter(Counter, OrderedDict): 'Counter that remembers the order elements are first encountered' def __repr__(self): return '%s(%r)' % (self.__class__.__name__, OrderedDict(self)) def __reduce__(self): return self.__class__, (OrderedDict(self),)words = ["oranges", "apples", "apples", "bananas", "kiwis", "kiwis", "apples"]c = OrderedCounter(words)print(c)# OrderedCounter(OrderedDict([('oranges', 1), ('apples', 3), ('bananas', 1), ('kiwis', 2)]))


