Pythonのcount関数を使う方法を現役エンジニアが解説【初心者向け】
初心者向けにPythonのcount関数について現役エンジニアが解説しています。count関数とは文字列や要素の数を数えてくれる関数です。指定の文字がいくつ含まれているか、リストの中に要素がいくつあるかを計算することが出来ます。また、count関数を使わずにループ文で数える方法も解説しています。
TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。
Pythonのcount関数について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

今回は、Pythonに関する内容だね!

どういう内容でしょうか?

Pythonのcount関数について詳しく説明していくね!

お願いします!
Pythonを使い始めたときに要素の個数をカウントする方法について解説いたします。
個数をカウントすることはfor文を使ってカウントすることも可能ですが、count関数を使うことで簡単に求めることができます。早速count関数をみていきましょう。
目次
count関数とは
count関数は標準ツールとして使うことができます。そのため、ライブラリをインストールする必要はありません。使うことができるのは文字やリスト等に対して使うことができます。実際に使い方をみていきましょう。
文字でのcount関数の使い方
string.count(element, start, end)
- string :String型の変数を表します。数値については使うことができません
- element :カウントしたい要素を指定します。要素を指定しない場合はエラーとなります
- start :カウントをスタートする文字数を指定することができます。この項目はオプションになりますので、文字全体に適用したい場合等には指定する必要はありません
- end :カウントをストップする文字数を指定することができます。この項目はオプションになりますので、文字全体に適用したい場合等には指定する必要はありません。
実際に使ってみると
例1
string1 = 'Hello world' string2 = 'l' string3 = string1.count(string2) print("Total Number: {}".format(string3))
結果
Total Number: 3
解説
要素のみを指定しています。そのため、文字に含まれている全ての’l’をを数えています。
例2
string1 = 'Hello world' string2 = 'l' string4 = string1.count(string2, 5, -2) print("Total Number: {}".format(string4))
結果
Total Number: 0
解説
始まりと終わりを指定することも可能です。今回は6番目(1番目はindex 0)から最後から2番目の前までの文字の範囲で探しています。今回指定した文字は’wor’となりますので、’l’は含まれないので0となります。
例3
string1 = 'Hello world' string2 = 'l' string5 = string1.count(string2, 6) print("Total Number: {}".format(string5))
結果
Total Number: 1
解説
初めの番号だけを指定しています。そのため、’world’の中に含まれる1個をカウントしています。
例4
string6 = 'Hello world'.count('l', 0, 60) print("Total Number: {}".format(string6))
結果
Total Number: 3
解説
文字の後ろに直接関数を使うこともできます。また、終わりの番号だけを指定することはできませんので、後ろの番号を指定する際は初めの番号も合わせて指定しましょう。
リストでのcount関数の使い方
list.count(value)
list – リスト型に含まれるそれぞれの要素についてカウントを行います。
value – 数値、文字など要素を指定する必要があります。要素なしまたは複数の要素を指定した場合にはTypeErrorが発生します。
実際に使ってみると
例1
list1 = ['a', 'a', 'a', 'b','a', 'b', 'b', 'a', 'c', 'b'] print("Total Number: {}".format(list1.count('b')))
結果
Total Number: 4
解説
リストに含まれる’b’の数を数えています。
例2
list2 = ['Cat', 'Bat', 'Sat', 'Cat', 'cat', 'Mat', 'Bat', 'Sat', 'Cat', 'cat'] print("Total Number: {}".format(list2.count('Cat')) )
結果
Total Number: 3
解説
リストに含まれる’Cat’の数を数えています。Pythonでは大文字と小文字を区別いたしますので’cat’の数は含まれません。
例3
list3 = [1, 2, 1, 3, '1', 2, 1, 3, 2, 1] print("Total Number: {}".format(list3.count(1)))
結果
Total Number: 4
解説
リストに含まれる1の数を数えています。1は数値になりますので文字の’1’はカウントいたしません。
countを使わないで書く方法
最後にcount関数を使わない方法を紹介してます。count関数が使えない場合の参考にしてください。
list1 = ['a', 'a', 'a', 'b','a', 'b', 'b', 'a', 'c', 'b'] count = 0 for el in list1: if el == 'b': count += 1 print("Total Number: {}".format(count))
結果
Total Number: 4
解説
count関数の代わりにfor文とif文を組み合わせて数えています。for文の前に数えるための変数countを0として定義することを忘れないでください。
最後に
count関数が使えるようになるとリストの扱いにも慣れてくるかと思います。
なお、複数の要素を指定したい場合には別途counter関数を使う必要がありますので、PythonのCounterの使い方を現役エンジニアが解説【初心者向け】をごらんください。
監修してくれたメンター
メンターkatoさん
学生時代に数値解析のためにプログラミングを始める。現在は企業にて専門職として働くかたわら、プログラムを書き業務効率化を図っている。 現在のメイン言語はPython, JavaScript。また、企業内の希望者にPythonのメンターとして基礎から教えている。テックアカデミーではJavaScriptを教える。 |

大石ゆかり
内容分かりやすくて良かったです!

ゆかりちゃんも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。