【Python】count()で要素や文字の出現回数を取得する!
Pythonで指定した要素や文字の出現回数を取得するにはcount()を使用します。
要素や文字の出現回数を取得する関数にはCounter()関数が挙げられるかと思いますが、Counter()関数はcollectionsライブラリをインポートすることで使用することができる関数になるのでコードの記述が少し面倒です。
しかし、count()は標準のライブラリで準備されている関数になりますので要素数を調べたい場合にすぐ使用することができます。
そして、count()はリストやタプルの要素だけでなく文字列の文字の出現回数も調べることができますので、ある要素やある文字だけをカウントしたい場合はcount()を使用しましょう。
今回はPythonのcount()で要素や文字の出現回数を取得する方法について以下の内容で解説していきます。
⚫︎ 指定した要素が見つかる場合
⚫︎ 指定した要素が見つからない場合
⚫︎ 2次元リストの要素の出現回数を取得する場合
⚫︎ 3次元リストの要素の出現回数を取得する場合
⚫︎ 指定した文字が見つかる場合
⚫︎ 指定した文字が見つからない場合
⚫︎ 指定した文字が全角半角である場合
目次
count()とは
count()とは指定した要素の個数をカウントすることができる関数になります。
count()の書き方
1 |
オブジェクト.count('カウントする要素や文字') |
count()のパラメータ
count()のパラメータは下記となります。
⚫︎ カウントする要素や文字:
オブジェクトの中でカウントしたい要素や文字を指定する
count()のパラメータにカウントする要素や文字を指定することで、オブジェクト内にある要素や文字をカウントすることができます。
要素の出現回数を取得するサンプルコード
リストやタプル内の要素の出現回数を取得するサンプルコードを紹介します。
指定した要素が見つかる場合
指定した要素が見つかる場合、count()関数は指定した要素の個数を返すようになります。
例
1 2 3 4 5 6 7 |
name1 = ['たなか','すずき', 'なかむら', 'たなか','すずき', 'たなか','すずき', 'たなか'] name2 = ('たなか','すずき', 'なかむら', 'たなか','すずき', 'たなか','すずき', 'たなか') tanaka = name1.count('たなか') print('たなかの要素数: ', tanaka) suzuki = name2.count('すずき') print('すずきの要素数: ', suzuki) |
出力結果
たなかの要素数: 4
すずきの要素数: 3
「たなか」という要素が4つありますので「4」が返され、「すずき」という要素が3つありますので「3」が返されるようになります。
指定した要素が見つからない場合
指定した要素が見つからない場合、count()関数は0を返すようになります。
例
1 2 3 4 5 6 7 |
name1 = ['たなか','すずき', 'なかむら', 'たなか','すずき', 'たなか','すずき', 'たなか'] name2 = ('たなか','すずき', 'なかむら', 'たなか','すずき', 'たなか','すずき', 'たなか') ito = name.count('いとう') print('「いとう」の要素数: ', ito) imada = name.count('いまだ') print('「いまだ」の要素数: ', imada) |
出力結果
「いとう」の要素数: 0
「いまだ」の要素数: 0
「いとう」と「いまだ」という要素が見つかりませんので「0」が返されます。
多次元の要素の出現回数を取得するサンプルコード
先ほどは、1次元のリストやタプル内にある要素の出現回数を取得しましたが、次は2次元、3次元の多次元の要素の出現回数を取得するサンプルコードをリストで紹介します。
2次元リストの要素の出現回数を取得する場合
2次元リストの要素の出現回数を取得してみます。
例
1 2 3 4 5 6 7 8 9 10 11 12 |
name1= [ ['たなか','すずき'], ['やました','たなか'], ['やました', 'ほんだ'], ['おいかわ','まえだ'], ['たなか', "やました"] ] yamasita1 = name1.count('やました') print('2次元リスト内での「やました」の要素数: ', yamasita1) yamasita2 = name1[2].count('やました') print('2次元リストの1次元リスト内での「やました」の要素数: ', yamasita2) |
出力結果
2次元リスト内での「やました」の要素数: 0
2次元リストの1次元リスト内での「やました」の要素数: 1
name1に対してcount()を使用すると2次元リスト内に対して「やました」の要素数を数えることになります。
また、name1の後ろにインデックスを1つ指定すると、2次元リストの1次元リスト内に対して「やました」の要素数を数えることができますが、全体の要素を数えることはできません。
もし、2次元リストの要素全体で「やました」の要素数を調べたい場合は新しい1次元リストを作成し、そのリストに対してcount()を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
name1= [ ['たなか','すずき'], ['やました','たなか'], ['やました', 'ほんだ'], ['おいかわ','まえだ'], ['たなか', "やました"] ] name2 = [] for i in name1: for j in i: name2.append(j) yamasita = name2.count('やました') print('「やました」の要素数: ', yamasita) |
出力結果
「やました」の要素数: 3
for文を2回使用することで2次元リストの要素を全て取り出し、そして取り出した要素をname2に追加することで、要素が全て入った1次元リストが作成されます。
そして、name2に対してcount()を使用することで2次元リストの要素の出現回数を取得することができます。
その為、「やました」の要素数は「3」と表示されます。
3次元リストの要素の出現回数を取得する場合
3次元リストの要素の出現回数を取得してみます。
例
1 2 3 4 5 6 7 8 9 10 |
name1= [ [['たなか','すずき'],['なかむら','たなか']], [['きむら', 'ほんだ'], ['いでぐち', 'やました']], [['おいかわ','まえだ'], ['たなか', "やました"]] ] tanaka1 = name1.count('たなか') print('3次元リスト内での「たなか」の要素数: ', tanaka1) tanaka2 = name1[0][0].count('たなか') print('3次元リストの1次元リスト内での「たなか」の要素数: ', tanaka2) |
出力結果
3次元リスト内での「たなか」の要素数: 0
3次元リストの1次元リスト内での「たなか」の要素数: 1
name1に対してcount()を使用すると3次元リスト内に対して「たなか」の要素数を数えることになります。
また、name1の後ろにインデックスを2つ指定すると、3次元リストの1次元リスト内に対して「たなか」の要素数を数えることができすが、全体の要素を数えることはできません。
もし、3次元リストの要素全体で「たなか」の要素数を調べたい場合も2次元リスト同様に、新しい1次元リストを作成し、そのリストに対してcount()を使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
name1= [ [['たなか','すずき'],['なかむら','たなか']], [['きむら', 'ほんだ'], ['いでぐち', 'やました']], [['おいかわ','まえだ'], ['たなか', "やました"]] ] name2 = [] for i in name1: for j in i: for k in j: name2.append(k) tanaka = name2.count('たなか') print('「たなか」の要素数: ', tanaka) |
出力結果
「たなか」の要素数: 3
for文を3回使用することで3次元リストの要素を全て取り出し、そして取り出した要素をname2に追加することで、要素が全て入った1次元リストが作成されます。
そして、name2に対してcount()を使用することで3次元リストの要素の出現回数を取得することができます。
その為、「たなか」の要素数は「3」と表示されます。
文字の出現回数を取得するサンプルコード
文字列の文字の出現回数を取得するサンプルコードを紹介します。
指定した文字が見つかる場合
指定した文字が見つかる場合、count()関数は指定した要素の個数を返すようになります。
例
1 2 3 4 5 6 |
text = 'この文章の中にある文字を調べる。' char1 = text.count('る') print('「る」の文字数: ', char1) char2 = text.count('文字') print('「中」の文字数: ', char2) |
出力結果
「る」の文字数: 2
「中」の文字数: 1
「る」の文字が2つありますので「2」が返され、「中」文字は1つありますので「1」が返されます。
指定した文字が見つからない場合
指定した文字が見つからない場合、count()関数は0を返すようになります。
例
1 2 3 4 |
text = 'この文章の中にある文字を調べる。' char1 = text.count('で') print('「で」の文字数: ', char1) |
出力結果
「で」の文字数: 0
「で」の文字が見つかりませんので「0」が返されます。
指定した文字が全角半角である場合
指定した文字が全角半角である場合、別の文字として区別されるようになります。
例
1 2 3 4 |
text = 'ABCDEFGEHJKLMN' char1 = text.count('A') print('「A」の文字数: ', char1) |
出力結果
「A」の文字数: 0
半角のAはありますが、全角のAはありませんので「0」が返されます。
今回のポイント
count()で要素や文字の出現回数を取得
⚫︎ 要素や文字の出現回数を取得するにはcount()関数を使用する
⚫︎ 要素の出現回数を取得する際に指定した要素が見つかる場合、count()関数は指定した要素の個数を返す
⚫︎ 要素の出現回数を取得する際に指定した要素が見つからない場合、count()関数は0を返す
⚫︎ 多次元のリストやタプルで要素の出現回数を取得するには新しい1次元リストを作成し、そのリストに対してcount()関数を使用する
⚫︎ 文字の出現回数を取得する際に指定した文字が見つかる場合、count()関数は指定した文字の個数を返す
⚫︎ 文字の出現回数を取得する際に指定した文字が見つからない場合、count()関数は0を返す
⚫︎ 文字の出現回数を取得する際に指定した文字が全角半角である場合は別の文字として区別されるようになる
関連記事
PythonのCounter()でリストなどの各要素の出現個数を調べる方法について詳しく知りたい場合はこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。