CounterとOrderedDictを両立させる面白い例が、公式ドキュメントに載っています。
公式ドキュメントに沿うならば、以下のようになります。
python
1from collections import Counter, OrderedDict
2
3
4class OrderedCounter(Counter, OrderedDict):
5 'Counter that remembers the order elements are first encountered'
6
7 def __repr__(self):
8 return '%s(%r)' % (self.__class__.__name__, OrderedDict(self))
9
10 def __reduce__(self):
11 return self.__class__, (OrderedDict(self),)
12
13s = 'apple,els,line,apple,ri,line,apple'
14counter = OrderedCounter(s.split(','))
15for word, num in counter.items():
16 print('{0}:{1}個'.format(word, num))
出力
apple:3個
els:1個
line:2個
ri:1個
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/03/11 02:06