どうも、ちょげ(@chogetarou)です。
リスト(List)で条件を満たす要素の個数を検索する方法を紹介します。
方法

リスト(List)で条件を満たす要素の個数を検索する方法は、2つあります。
sum() + 内包表記
1つは、sum()と内包表記を使う方法です。
まず、sum()を呼び出し、sum()の引数に[]を指定します。
そして、[]内でリスト(List)をforループします。
ループ処理に、検索で使う条件式を指定します。
result = sum([条件式 for i in list])
上記のsum()は、ループ処理に指定した条件式でリストを検索し、条件式でTrueを返す要素の個数を返します。
使用例
numbers = [1, 2, 3, 1, 4, 1, 6]
result1 = sum([i < 3 for i in numbers])
result2 = sum([i % 2 == 0 for i in numbers])
print(result1) #4
print(result2) #3
sum() + map()
もう1つは、sum()とmap()を使う方法です。
まず、sum()を呼び出します。
そして、sum()の引数でmap()を呼び出します。
map()の第1引数に条件式を返すラムダ式、第2引数にリスト(List)を指定します。
result = sum(map(lambda x: 条件式, list))
上記のsum()は、ラムダ式で返した条件式でリストを検索し、条件式でTrueを返す要素の個数を返します。
使用例
numbers = [1, 2, 3, 1, 4, 1, 6]
result1 = sum(map(lambda x: x > 2, numbers))
result2 = sum(map(lambda x: x % 2 != 0, numbers))
print(result1) #3
print(result2) #4
まとめ
リスト(List)で条件を満たす要素の個数を検索する方法は、次の2つです。
- sum()と内包表記を使う方法
- sum()とmap()を使う方法
コメント