Pythonのソースコードは次のように説明されています。
map(func、* iterables)->マップオブジェクト
各イテレータからの引数を使用して関数を計算するイテレータを作成します。最短のイテラブルが使い果たされると停止します。
簡単に言うと、
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))
コードのコピー
実行結果:
<0x000001AD0A334908のオブジェクトをマップ>
['Lll'、 'Lkk'、 'Wxy']