目次
リスト内の各要素の数
前回、リスト内包表記を二重にして二次元リスト(ネストされたリスト)を作成する方法を解説しました。
あわせて読みたい


【Python基礎】リスト内包表記:二次元リスト(ネストされたリスト)の作成
【リスト内包表記】 前回、Twitterでのツイートの文字数を正確に数えてくれるライブラリtwitter-text-parserを試してみました。 今回は話題がガラッと変わってリスト内…
今回はリスト内の各要素の個数を数える方法に関して解説をしていきます。
まず今回使うリストですが、こんな感じで用意してみました。
val_list = ['A', 'A', 'A', 'B', 'B', 'C']
このリストを使って、A、B、Cそれぞれの数を数えてみましょう。
それでは始めていきましょう。
リスト内の要素の数:len
まずは超基本の基本をおさらい。
リスト内の要素数を数える方法です。
リスト内の要素数を数えるには「len(リスト)」を用います。
print(len(val_list))
実行結果
6
特定の要素の数:count
次にリスト内の特定の要素の数の数え方です。
特定の要素の数を数えたい場合は「リスト名.count(数えたい要素)」を用います。
print(val_list.count('A'))
print(val_list.count('B'))
print(val_list.count('C'))
実行結果
3
2
1
上記の例では文字列を使っていますが、int型の要素でも数えることができます。
int_list = [0, 0, 0, 1, 1, 2]
print(int_list.count(0))
print(int_list.count(1))
print(int_list.count(2))
実行結果
3
2
1
各要素の数を一括で数える:collections.Counter
countを使うと特定の要素の個数を数えることはできますが、各要素の個数を一括で取得したいということもあるでしょう。
その場合はPython標準ライブラリの「collections」を使います。
そして「collections.Counter(リスト)」とするとリスト内の各要素の数を一括で数えてくれます。
import collections
collection = collections.Counter(val_list)
print(collection)
実行結果
Counter({'A': 3, 'B': 2, 'C': 1})
辞書形式となっているので、核要素をキーとして、それぞれの個数を取得することができます。
print(collection['A'])
print(collection['B'])
print(collection['C'])
実行結果
3
2
1
また辞書形式なので、「.keys()」や「.values()」も使うことができます。
print(collection.keys())
print(collection.values())
実行結果
dict_keys(['A', 'B', 'C'])
dict_values([3, 2, 1])
collectionsで各要素の個数を一括で取得するのは本当に便利なので、覚えておいて損はないでしょう。
次回はPandasでデータフレーム中の特定の行を別のデータフレームに高速に移す方法を紹介します。
あわせて読みたい


【Pandas】データフレームから特定の行を抽出し、新しいデータフレームに高速に移動[Python]
【Pandas】 前回、リスト内の各要素の個数を数える方法(count、collections.Counter)を紹介しました。 今回はPandasでデータフレームから特定の行を抽出し、新しいデ…
ではでは今回はこんな感じで。
コメント