はじめに
multiprocessingを勉強していたらmap関数が出てきたので、まずは map関数を勉強してみました。
map関数
map(function, iterable, ...)
function を、結果を返しながら iterable の全ての要素に適用するイテレータを返します。追加の iterable 引数が渡されたなら、 function はその数だけの引数を取らなければならず、全てのイテラブルから並行して取られた要素に適用されます。複数のイテラブルが与えられたら、このイテレータはその中の最短のイテラブルが尽きた時点で止まります。
iterable → for文の中に入れられるリストとかタプルみたいなもの。
このiterableに対してfunctionをしてくれる。
使ってみる
[1,2,3] に対して+1する
result = map(lambda x: x+1, [1,2,3])
print(result)
返ってきた値
<map object at 0x7f26e9a17940>
イテレータという形で、私には結果が見えないので、リストに入れてあげる。
※イテレータはリストのコピーみたいなものらしいのですが、難しいのでまた今度。
result = list(map(lambda x: x+1, [1,2,3]))
print(result)
[2, 3, 4]
+1されて返ってきました\(^o^)/
参考
https://rara-world.com/python-map-filter/
lambdaについて
https://qiita.com/nagataaaas/items/531b1fc5ce42a791c7df