Python の filter() 関数を使用してリストをフィルタリングする
filter() 関数は、Python に組み込まれた高階関数であり、指定された条件を満たす要素をフィルタリングするために使用されます。そしてそれを新しいリストとして返します。リスト処理では、filter() が非常に重要な役割を果たし、コードが大幅に簡素化され、効率が向上します。
filter() 関数の基本的な構文は次のとおりです。
filter(function, sequence)
このうち、function はシーケンス内の各要素を判定するために使用される関数であり、 True または False を返します。シーケンスはリスト、タプルなどの反復可能なオブジェクトです。
以下では、いくつかの具体的なコード例を使用して、filter() 関数を使用してリストをフィルターする方法を示します。
例 1: リスト内のすべての偶数をフィルターで除外する
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] filtered_lst = filter(lambda x: x % 2 == 0, lst) print(list(filtered_lst)) # 输出结果:[2, 4, 6, 8, 10]
例 2: 文字列リストから長さが 5 以上のすべての文字列を除外する
lst = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig'] filtered_lst = filter(lambda x: len(x) >= 5, lst) print(list(filtered_lst)) # 输出结果:['banana', 'cherry', 'elderberry']
例 3: 辞書リストから偶数番号を持つすべての辞書を除外する
lst = [{'name': 'Alice', 'age': 20}, {'name': 'Bob', 'age': 25}, {'name': 'Cindy', 'age': 30}] filtered_lst = filter(lambda x: x['age'] % 2 == 0, lst) print(list(filtered_lst)) # 输出结果:[{'name': 'Alice', 'age': 20}, {'name': 'Cindy', 'age': 30}]
例 4: フィルター タプル リスト内の最初の要素が 10 より大きいタプルをすべて抽出します
lst = [(5, 7), (12, 15), (8, 9), (16, 18)] filtered_lst = filter(lambda x: x[0] > 10, lst) print(list(filtered_lst)) # 输出结果:[(12, 15), (16, 18)]
filter() 関数を使用すると、コードをより簡潔かつ効率的にし、ループと if ステートメントのネストを減らすことができます。コードの可読性を向上させます。 可読性と保守性。ただし、filter() 関数はフィルター オブジェクトを返すので、出力したりさらに操作したりする前に、list() 関数を使用してリストに変換する必要があることに注意してください。
以上がPython の filter() 関数を使用したリストのフィルタリングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。