Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonマップ関数:ステップバイステップガイド

Python map()関数は、リストやセットなど、コレクション内の各アイテムに対して関数を実行します。 map()関数は、関数と、関数が引数として動作することを適用するオブジェクトを受け入れます。


Pythonでアイテムのリストを操作しているときは、それらの各アイテムに対して特定の機能を実行することをお勧めします。

そこで、Pythonの組み込み関数map()が登場します。Pythonのmap関数は、リストなどの反復可能なオブジェクト内のすべての要素に対して関数を実行し、mapオブジェクトを返します。

このチュートリアルでは、一連の例を使用して、 map()の使用方法について説明します。 Pythonで機能します。

Python反復可能オブジェクト

反復可能なオブジェクトは、カウント可能な数の値を含み、トラバースできるアイテムです。リスト、辞書、タプル、セットはすべてPythonで反復可能なオブジェクトです。これらは複数の値を含むことができ、トラバースできるためです。

保存したい生徒の名前のリストがあるとします。これらの名前を複数のPython変数に格納する代わりに、値を格納する配列を宣言できます。

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]

私たちのstudents 変数には、反復可能なオブジェクトであるリストが含まれています。これは、リスト内のアイテムをトラバースできることを意味します。

Pythonマップ関数の構文

map()関数は、リスト内の各要素を渡し、各要素に対して関数を実行します。 map()はPythonに組み込まれています。これは、map()メソッドを使用するためにライブラリをインポートする必要がないことを意味します。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

Python map() は、反復可能なオブジェクト内の複数の要素に特定の関数を適用するために使用できる高階関数です。 Python map()の構文 機能は次のとおりです。

map(function, iterable)

最初の引数map() 関数が取るのは関数です。 これは、イテラブル内のすべてのアイテムに対して実行される関数です。 反復可能 リスト、タプル、ディクショナリ、セットなど、マップされるオブジェクトです。

PythonでMap関数を使用する方法

あなたが完全な学生名簿の作成を任されている学校の管理者であるとしましょう。

生徒の名前の横に各生徒のクラスの成績が記載された、生徒の名前のリストを印刷することにしました。これにより、2つの異なる学年の2人の生徒が同じ名前を持っている場合の混乱を防ぐことができます。

これは、Python map()関数の完璧なアプリケーションです。関数を実行したい反復可能オブジェクトがあります。この関数は、生徒の名前と現在の学年をマージします。これは、生徒の名前と学年レベルをマージするために使用できるプログラムです。

def mergeNamesAndGrades(name):
	return name + " First Grade"

students = ["Lucy", "Bill", "Graham", "Tommy", "Leslie"]
student_roster = map(mergeNamesAndGrades, students)
>

最初の2行で、 mergeNamesAndGradesというPython関数を宣言します。 。この関数は、各生徒の名前と1年生を組み合わせたものです 。

次に、次の行で、学校の生徒のリストを定義します。私たちのリストには5人の学生がいます。

map() student_rosterのコンテンツに関数が適用されます Python変数。 map()関数は、関数(この場合はmergeNamesAndGrades)と反復可能オブジェクト(students)の2つの引数を取ります。

map()メソッドは、mergeNamesAndGrades()関数をリスト内の各学生に適用します。

Pythonマップをリストに変換する

しかし、私たちのプログラムはまだ完了していません。 map() 関数は、完全なリストではなく、マップされたオブジェクトを返します。 student_rosterを印刷する場合 現在、変数は次のようにマップされたオブジェクトを返します:

<map object at 0x7f2c74103890>

この出力は、 map()が原因で生成されました。 関数は、リストではなく、独自のカスタムオブジェクトを返します。したがって、学生名のリストを印刷する場合は、 student_rosterを変換する必要があります。 リストへの変数。このアクションを実行するために使用できるコードは次のとおりです。

print(list(student_roster))

このコードは次のPythonリストを返します:

['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']

別の例を見てみましょう。生徒名簿では、すべての生徒の名前と成績を大文字に変換するとします。次のコードを使用して、生徒の名前と成績の大文字と小文字を変更できます。

def changeCase(name):
	return name.upper()

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']
final_student_roster = map(changeCase, student_roster)
print(list(final_student_roster))

私たちのコードは、反復できるリストを返します:

['LUCY FIRST GRADE', 'BILL FIRST GRADE', 'GRAHAM FIRST GRADE', 'TOMMY FIRST GRADE', 'LESLIE FIRST GRADE']

この例では、changeCaseという関数を定義しました。 この関数は、各学生の名前を大文字に変更しました。 Python upper()を使用しました 各名前の大文字と小文字を変換する関数。

私たちのプログラムはmap()を使用しました changeCase()を呼び出す関数 反復可能なstudent_rosterの各オブジェクト 。最後に、私たちのプログラムは、改訂された学生名のリストを大文字で返しました。

Lambdaを使用したPythonマップ関数

Python map() 関数はラムダで使用できます コードをより効率的にするための関数。上記の例では、反復可能関数を特定の方法で変更するための新しい関数を宣言しました。

ただし、反復可能なオブジェクトに対してアクションを1回だけ実行する場合は、新しい関数を宣言する必要はありません。代わりに、小さな無名関数であるPythonラムダ関数を使用できます。

Lambda関数はmap()で使用できます 新しい関数を定義したくない小さな関数の場合。

ラムダ関数は通常の関数よりも簡潔であるため、可能な場合はそれらを使用するようにしてください。単純な関数にラムダ関数を使用すると、コードの可読性が向上します。

上記のように、ラムダを使用して学生名のリストの大文字と小文字を大文字に変換する例を次に示します。

student_roster = ['Lucy First Grade', 'Bill First Grade', 'Graham First Grade', 'Tommy First Grade', 'Leslie First Grade']
final_student_roster = map(lambda s: s.upper(), student_roster)
print(list(final_student_roster))

学生名の大文字小文字を大文字に変換する新しい関数は宣言していません。代わりに、 lambda s:s.upper()を使用しました 、これは、生徒の名前の大文字と小文字を変換する小さな匿名関数です。

コードは次を返します:

['LUCY FIRST GRADE', 'BILL FIRST GRADE', 'GRAHAM FIRST GRADE', 'TOMMY FIRST GRADE', 'LESLIE FIRST GRADE']

結論

Python map() 関数を使用して、反復可能なオブジェクト内のすべての要素に特定の関数を適用できます。たとえば、map()を使用して、文字列のリストの大文字と小文字を大文字に変換できます。または、map()関数を使用して、数値のリストに特定の量を掛けることもできます。

このチュートリアルでは、 map()の使用方法について説明しました。 Pythonで、反復可能なオブジェクト内のすべての要素に関数を適用します。また、Pythonのラムダ関数を map()で使用する方法についても説明しました。 より効率的なコードを作成します。

これで、 map()の使用を開始するために必要なPythonの知識を身に付けることができます。 プロのように。


  1. Pythonインタープリター:ステップバイステップガイド

    Pythonインタープリターは、マシンに正しいバージョンのPythonがインストールされていることを確認しなくてもオンラインで存在するため、Pythonは非常にアクセスしやすく学習できます。この記事では、Pythonインタープリターとは何かについて説明し、オンラインで使用できる、より人気のある、初心者向けのインタープリターをいくつかリストします。 Pythonプログラムはどのように実行されますか? Pythonは、Javaと同様に、インタプリタ言語またはコンパイル言語として完全に分類することはできません。両方のほんの少しです。 この場合にコンパイルされるということは、どの

  2. Pythonの絶対値:ステップバイステップガイド

    Pythonのabs()メソッドは、数値の絶対値を返します。数値の絶対値は、0からの数値の距離です。これにより、負の数値は正になりますが、正の数値は影響を受けません。たとえば、abs(-9)は9を返し、abs(2)は2を返します。 絶対値は、数直線上の数値と0の間の距離です。これらの値は、多くの数式で役立ちます。たとえば、絶対値は距離の計算に使用されます。 ここでabs() 組み込み関数が組み込まれています。abs() メソッドを使用して、特定の数値の絶対値を計算できます。 このチュートリアルでは、 abs()の使用方法について説明します。 Pythonのメソッド。また、動作中の関数