[python]文字数のカウント

いつも調べているのである程度まとめたい。

s = "ABCABCAA"

一文字を調べる時は

s.count("A")
#4

で良い。便利なのは、2文字以上でも

s.count("AB")

とすればABを探して\(2\)と返してくれる。文字列の範囲を指定する時は、

s.count("A", start, end)
#例えばs.count("AB", 1, 5)
#1

で良い。リストに含まれる要素や、タプルを検索文字として指定することができる。

これに加えて、

from collections import Counter
Counter(s)

も覚えておくと良い。これは文字列中の出現回数を返してくれる。

Counter({'A': 4, 'B': 2, 'C': 2})

ただし、”AB”を探したい、などという時には使えない。また、

c = Counter(s)

としておいてから、most_commonメソッドを用いると、出現回数順にカウントを返してくれる。

c.most_common()
[('A', 4), ('B', 2), ('C', 2)]

コメント

タイトルとURLをコピーしました