新聞、新聞!(講義)
1.Counterの作成と基本的な使い方
2.「+」、「-」、「&」、「|」演算
3.1「+」と「update」の違い
3.2"-"と"subtract"の違い
3.3ちょっとしたテクニック
まとめ:リスト、メタグループ、辞書、文字列などの反復可能なオブジェクトの要素を統計、計算するときは、Counterを忘れないでください.使いやすく、効率的です.
あの年の木の下での軍事訓練を覚えていますか.教官は「最初の列の新聞数」と言った.あなたは驚いて教官を見ていて、教官はまた大声で言いました:新聞!そこで、あなたはとても不本意に振り向いて木を抱きしめました!
from collections import Counter
# :
a = Counter([1991, 1993, 1992, 1992, 1993, 1993])
# :
b = Counter('AADCABDDAC')
print('a:', a)
print('b:', b)
print('a :', a.most_common(2))
# elements() Counter
# : 0
print('b :', list(b.elements()))
# values() /
print('b :', b.values(), ' :', sum(b.values()))
a: Counter({1993: 3, 1992: 2, 1991: 1})
b: Counter({'A': 4, 'D': 3, 'C': 2, 'B': 1})
a : [(1993, 3), (1992, 2)]
b : ['A', 'A', 'A', 'A', 'D', 'D', 'D', 'C', 'C', 'B']
b : dict_values([4, 3, 2, 1]) : 10
2.「+」、「-」、「&」、「|」演算
# :
a = Counter(X=3, Y=2, Z=1)
b = Counter(X=4, Y=-3)
print('a: ', a)
print('b: ', b)
# : 0 。
print('a + b:', a + b)
# : 0 。
print('a - b:', a - b)
# : ( 0 )
print('a & b:', a & b)
# : ( 0 )
print('a | b:', a | b)
a: Counter({'X': 3, 'Y': 2, 'Z': 1})
b: Counter({'X': 4, 'Y': -3})
a + b: Counter({'X': 7, 'Z': 1})
a - b: Counter({'Y': 5, 'Z': 1})
a & b: Counter({'X': 3})
a | b: Counter({'X': 4, 'Y': 2, 'Z': 1})
3.1「+」と「update」の違い
a = Counter(X=3, Y=2, Z=1)
b = Counter(X=4, Y=-3)
print('a: ', a)
print('b: ', b)
# 0 。
print('a + b: ', a + b)
# a , “ ” 0
a.update(b)
print('update:', a)
a: Counter({'X': 3, 'Y': 2, 'Z': 1})
b: Counter({'X': 4, 'Y': -3})
a + b: Counter({'X': 7, 'Z': 1})
update: Counter({'X': 7, 'Z': 1, 'Y': -1})
3.2"-"と"subtract"の違い
a = Counter(X=3, Y=2, Z=1)
b = Counter(X=4, Y=-3)
print('a: ', a)
print('b: ', b)
# 0 。
print('a - b: ', a - b)
# a , “ ” 0
a.subtract(b)
print('subtract:', a)
a: Counter({'X': 3, 'Y': 2, 'Z': 1})
b: Counter({'X': 4, 'Y': -3})
a - b: Counter({'Y': 5, 'Z': 1})
subtract: Counter({'Y': 5, 'Z': 1, 'X': -1})
3.3ちょっとしたテクニック
a = Counter(X=0, Y=1, Z=-1)
# Counter 0
a += Counter() # a -= Counter()
print('a:', a)
a: Counter({'Y': 1})
まとめ:リスト、メタグループ、辞書、文字列などの反復可能なオブジェクトの要素を統計、計算するときは、Counterを忘れないでください.使いやすく、効率的です.
あの年の木の下での軍事訓練を覚えていますか.教官は「最初の列の新聞数」と言った.あなたは驚いて教官を見ていて、教官はまた大声で言いました:新聞!そこで、あなたはとても不本意に振り向いて木を抱きしめました!