Pythonでfilter関数が何をするのか
Pythonのfilter()関数は、シーケンス内から要素をフィルタし、条件を満たす新しいシーケンスを返します。
filter()関数は2つの引数を取ります。1つ目は関数(多くの場合、ラムダ関数)で、シーケンス中の各要素に対して判定を行い、Trueを返すと要素を保持し、Falseを返すと要素を削除します。2つ目はリスト、タプルなどのシーケンスです。
filter()関数はシーケンスの各要素を順番に調べ、引数に渡した関数を適用し、その結果が真となった要素だけからなる新しいシーケンスを返します。
以下の例をご覧ください。
# 过滤列表中的偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filtered_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(filtered_numbers)
# 输出: [2, 4, 6, 8, 10]
上記の例では、filter()関数はリストnumbersの各要素をlambda関数に渡し、偶数かどうかを判断させ、条件に一致した新しいシーケンスfiltered_numbersを返します。
filter() 関数では、文字列、タプルなどその他の反復可能オブジェクトから特定の要素をフィルタリングすることもでき、その使い方は似ています。