Pythonでマップとは何を意味しますか?

藏色散人
リリース: 2019-07-01 09:27:20
オリジナル
30469 人が閲覧しました

Pythonでマップとは何を意味しますか?

Python のマップとは何を意味しますか?

map 関数のプロトタイプは map(function, iterable, ...) であり、その戻り結果はリストです。

パラメータ関数は関数名を渡します。関数名は Python に組み込むことも、カスタマイズすることもできます。

パラメータ iterable は、リスト、タプル、文字列などの反復可能なオブジェクトを渡します。

この関数の意味は、関数を iterable の各要素に適用し、結果をリストの形式で返すことです。 iterable の後に楕円があることに気づきましたか? これは、多くの iterable を渡すことができることを意味します。追加の iterable パラメーターがある場合、要素はこれらのパラメーターから並行して取得され、関数が呼び出されます。 1 つの反復可能なパラメーターが別の反復可能なパラメーターより短い場合、パラメーター要素は None で拡張されます。理解するために例を見てみましょう!

a=(1,2,3,4,5)
b=[1,2,3,4,5]
c="zhangkang"
la=map(str,a)
lb=map(str,b)
lc=map(str,c)
print(la)
print(lb)
print(lc)
ログイン後にコピー

出力:

['1', '2', '3', '4', '5']
['1', '2', '3', '4', '5']
['z', 'h', 'a', 'n', 'g', 'k', 'a', 'n', 'g']
ログイン後にコピー

str() は Python の組み込み関数です。この例では、リスト/タプル/文字列の各要素を str 型に変換し、リストのフォームリターンを使用します。もちろん、カスタム関数を渡すこともできます。以下の例を参照してください。

def mul(x):
    return x*x
n=[1,2,3,4,5]
res=map(mul,n)
ログイン後にコピー

出力: [1, 4, 9, 16, 25]

リスト n の各要素に対して mul 関数を 1 回実行した後に得られた結果が、最終的な要素として使用されます。結果リスト。複数の反復可能なパラメーターを使用した状況を見てみましょう。

def add(x,y,z):
    return x+y+z
list1=[1,2,3]
list2=[1,2,3]
list3=[1,2,3]
res=map(add,list1,list2,list3)
print(res)
ログイン後にコピー

出力: [3, 6, 9]

3 つのリストのそれぞれから要素を並行して削除し、追加関数を実行します。 3 つのリストは異なりますか? はい、前述したように、短い反復可能なパラメーターには None が設定されます。上記の例で list3=[1,2] の場合、add 関数の実行時に list3 の最後の要素には None が設定されますが、None と int 型の数値は比較できないため、このプログラムはエラーを報告します。 。つまりパラメータ関数がNoneの動作をサポートしていなければ全く意味がありません。次に、別の例を見てみましょう。

def add(x,y,z):
    return x,y,z
list1 = [1,2,3]
list2 = [1,2,3,4]
list3 = [1,2,3,4,5]
res = map(add, list1, list2, list3)
print(res)
ログイン後にコピー

出力:

[(1, 1, 1), (2, 2, 2), (3, 3, 3), (None, 4, 4), (None, None, 5)]
ログイン後にコピー

関連する推奨事項: 「Python チュートリアル

以上がPythonでマップとは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート