Pythonの関数説明 filter()

filter() は、Pythonの組み込み関数の一つで、イテラブル(iterable)オブジェクト内の要素に対して指定した条件(関数)を適用し、条件を満たす要素だけを抽出して新しいイテラブルを生成するために使用されます。
filter() 関数は、イテラブルオブジェクト内の各要素を指定した関数に渡し、その関数が
True を返す要素だけを抽出します。

以下は
filter() 関数の基本的な使い方と説明です:

  1. リスト内の偶数だけを抽出する例:
python
def is_even(x):
    return x % 2 == 0

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = list(filter(is_even, my_list))
print(even_numbers)  # [2, 4, 6, 8] と表示される
  1. 文字列内の母音だけを抽出する例:
python
def is_vowel(char):
    vowels = 'aeiouAEIOU'
    return char in vowels

text = "Hello, World!"
vowels = list(filter(is_vowel, text))
print(vowels)  # ['e', 'o', 'o'] と表示される
  1. リスト内の空でない文字列だけを抽出する例:
python
def is_not_empty_string(s):
    return len(s) > 0

my_list = ["apple", "", "banana", "cherry", "", "date"]
non_empty_strings = list(filter(is_not_empty_string, my_list))
print(non_empty_strings)  # ['apple', 'banana', 'cherry', 'date'] と表示される

filter() 関数は、指定した条件を満たす要素を抽出する際に非常に便利です。抽出条件を指定するために、関数を定義してそれを
filter() 関数に渡します。また、
filter() 関数はイテレータ(iterator)を返すため、必要に応じてリストやタプルなどのデータ構造に変換できます。この関数はデータのフィルタリングや選別、条件に合致する要素の検索など、さまざまなデータ処理の場面で使用されます。