ホームページ >バックエンド開発 >Python チュートリアル >Python のラムダ、マップ、フィルターを理解する

Python のラムダ、マップ、フィルターを理解する

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-01 04:47:10239ブラウズ

Understanding Lambda, Map, and Filter in Python

導入

プログラミングの世界では、効率的で読みやすいコードを書くことが不可欠です。 Python では、ラムダ、マップ、フィルターなどのツールを使用して、データを操作し、変換を迅速に適用するための洗練された簡潔な方法を提供します。この投稿では、それぞれを調べて構文を理解し、それらを組み合わせて問題を簡潔に解決する方法を示す簡単な例を見ていきます。

Lambda関数とは何ですか?

ラムダ関数は、Python で匿名関数を作成するための迅速かつコンパクトな方法です。これらは、「使い捨て」関数、つまり一度だけ使用され、名前を必要としない関数が必要な場合に便利です。

基本的な構文:

lambda arguments: expression

例:

# Lambda function to add two numbers
add = lambda x, y: x + y
print(add(5, 3))  # Output: 8

マップ: リストへの関数の適用

map 関数は、リスト (または別の反復可能) 内のすべての項目に関数を適用し、反復子を返すために使用されます。

例:

numbers = [1, 2, 3, 4]
squares = map(lambda x: x**2, numbers)
print(list(squares))  # Output: [1, 4, 9, 16]

この例では、ラムダ関数が各数値を二乗する方法をすばやく定義します。

フィルタ: リストから値をフィルタリングする

フィルター関数は、関数で定義された条件を満たす反復可能要素のみを選択するために使用されます。

例:

numbers = [1, 2, 3, 4, 5, 6]
evens = filter(lambda x: x % 2 == 0, numbers)
print(list(evens))  # Output: [2, 4, 6]

ここで、ラムダ関数はどの数値が偶数 (x % 2 == 0) であるかをチェックします。

ラムダ、マップ、フィルターの組み合わせ

ラムダ、マップ、フィルターを組み合わせて、強力でコンパクトなソリューションを作成できます。

実際的な例: 数値のリストを取得し、偶数のものを二乗し、奇数のものを捨ててみましょう:

numbers = [1, 2, 3, 4, 5, 6]
result = map(lambda x: x**2, filter(lambda x: x % 2 == 0, numbers))
print(list(result))  # Output: [4, 16, 36]

こちら:

  • フィルターは奇数を削除します。
  • マップは残りの数値を二乗します。

結論

ラムダ、マップ、フィルターは、特に素早い変換やデータのフィルター処理を実行する必要がある場合に、コードを大幅に簡素化できる手法です。重要なのは、それらを使用する適切なタイミングを練習し、認識することです。

以上がPython のラムダ、マップ、フィルターを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。