Pythonにおけるオブジェクトフィルタリングのためのfilter関数
では、関数filterを学びましょう。
これは、リストやその他のイテラブルオブジェクトの要素を何らかの条件でフィルタリングすることを可能にします。最初のパラメータとして、チェックする条件を指定する関数を受け取ります。
2番目のパラメータには、フィルタリングする要素を持つリストを指定します。
関数がTrueを返す場合、その要素は新しいリストに残ります。Falseが返された場合、その要素はリストに含まれません。
リストがあるとします:
lst = [1, 2, 3, 4, 5, 6]
このリストから偶数のみを残しましょう。
そのために、ラムダ関数を使用して、パラメータとして渡された数が2で余りなく割り切れるように記述します:
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
コードを実行すると、新しいリストが返されます:
[2, 4, 6]
数値のリストがあります:
lst = [1, 2, 3, 4, 5]
このリストから奇数のみを新しいリストに記述してください。
文字列のリストがあります:
lst = ['abcd', 'ab', 'c', 'de', 'bc']
長さが2に等しい文字列のみを新しいリストに記述してください。