Pythonのmap()関数

地図() 関数は、指定された関数を指定されたイテラブル (リスト、タプルなど) の各項目に適用した後の結果のマップ オブジェクト (イテレータ) を返します。

Pythonのmap()関数の構文

構文 : マップ(楽しい、反復)

パラメーター:

  • 楽しい: これは、map が指定された反復可能オブジェクトの各要素を渡す関数です。
  • イター: マッピングされるものは反復可能です。

注記: 1 つ以上の反復可能オブジェクトを map() 関数に渡すことができます。

戻り値: 指定された関数を指定された反復可能オブジェクト (リスト、タプルなど) の各項目に適用した後の結果のリストを返します。

注記 : map() (マップ オブジェクト) からの戻り値は、 list() (リストを作成するため)、set() (セットを作成するため) などの関数に渡すことができます。

Python の map() の例

Python での map() のデモ

この例では、map() 関数をデモンストレーションしています。 パイソン

Python3




# Python program to demonstrate working> # of map.> # Return double of n> def> addition(n):> > return> n> +> n> # We double all numbers using map()> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (addition, numbers)> print> (> list> (result))>

出力

[2, 4, 6, 8] 

ラムダ式を使用したmap()

私たちも使うことができます ラムダ式 上記の結果を達成するにはマップを使用します。この例では、ラムダ式で map() を使用しています。

Python3




# Double all numbers using map and lambda> numbers> => (> 1> ,> 2> ,> 3> ,> 4> )> result> => map> (> lambda> x: x> +> x, numbers)> print> (> list> (result))>

出力

[2, 4, 6, 8] 

マップとラムダを使用して 2 つのリストを追加する

この例では、マップとラムダを使用して 2 つのリストを追加しています。

Python3




# Add two lists using map and lambda> numbers1> => [> 1> ,> 2> ,> 3> ]> numbers2> => [> 4> ,> 5> ,> 6> ]> result> => map> (> lambda> x, y: x> +> y, numbers1, numbers2)> print> (> list> (result))>

出力

[5, 7, 9] 

map() を使用して文字列を変更する

この例では、map() 関数を使用して文字列を変更しています。 Python ではイテラブルからマップを作成できます。

Python3




# List of strings> l> => [> 'sat'> ,> 'bat'> ,> 'cat'> ,> 'mat'> ]> # map() can listify the list of strings individually> test> => list> (> map> (> list> , l))> print> (test)>

出力

[['s', 'a', 't'], ['b', 'a', 't'], ['c', 'a', 't'], ['m', 'a', 't']] 

時間計算量 : O(n)。n は入力リスト l の要素の数です。
補助スペース : の上)

map() を使用した if ステートメント

この例では、double_even() 関数は偶数を 2 倍にし、奇数は変更しません。この関数を数値リストの各要素に適用するには、map() 関数を使用します。関数内で if ステートメントを使用して、必要な条件付きロジックを実行します。

Python3




# Define a function that doubles even numbers and leaves odd numbers as is> def> double_even(num):> > if> num> %> 2> => => 0> :> > return> num> *> 2> > else> :> > return> num> # Create a list of numbers to apply the function to> numbers> => [> 1> ,> 2> ,> 3> ,> 4> ,> 5> ]> # Use map to apply the function to each element in the list> result> => list> (> map> (double_even, numbers))> # Print the result> print> (result)> # [1, 4, 3, 8, 5]>

出力

[1, 4, 3, 8, 5] 

時間計算量 : の上)
補助的な複雑さ: の上)