Python3 でマップ関数を呼び出すにはどうすればよいですか?
Python3 の Map 関数呼び出し構文:
map(function, iterable, ...)
Python のソース コードは次のように説明されます:
map(func, *iterables) --> map object Make an iterator that computes the function using arguments from each of the iterables. Stops when the shortest iterable is exhausted.
簡単に言うと、
map () は関数 f と反復可能なオブジェクト (ここではリストとして理解されます) を受け取り、関数 f をリストの各要素に順番に適用することによって、新しいリストが取得されて返されます。
たとえば、リスト [1, 2, 3, 4, 5, 6, 7, 8, 9]
リストの各要素を 2 乗したい場合は、以下を使用できます。 map() 関数:
したがって、関数 f(x)=x*x を渡すだけでよく、その後、map() 関数を使用してこの計算を完了できます:
def f(x): return x*x print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
出力結果:
[1, 4, 9, 10, 25, 36, 49, 64, 81]
匿名関数で使用:
data = list(range(10)) print(list(map(lambda x: x * x, data))) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
注: map() 関数は元のリストを変更しませんが、新しいリストを返します。
map() 関数を使用すると、変換関数を渡すことでリストを別のリストに変換できます。
リストに含まれる要素は任意の型である可能性があるため、map() は数値のみを含むリストを処理できるだけでなく、実際には、入力関数 f が処理できる限り、任意の型を含むリストを処理できます。このデータ型を処理します。
タスク
ユーザーが入力した英語名が標準化されておらず、最初の文字を大文字にし、後続の文字を小文字にするという規則に従っていないと仮定します。変換するには、map() 関数を使用してください。リスト (いくつかの不規則な名前を含む) 英語名) を標準化された英語名を含むリストに変換:
def f(s): return s[0:1].upper() + s[1:].lower() list_ = ['lll', 'lKK', 'wXy'] a = map(f, list_) print(a) print(list(a))
実行結果:
<map object at 0x000001AD0A334908> ['Lll', 'Lkk', 'Wxy']
関連する推奨事項: "Python Tutorial"
以上がPython3でmap関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。