The map
Fungsi bisa sangat berguna di sini. Menggunakan map
kita dapat menerapkan fungsi apa pun ke setiap elemen iterable.
Python 3.x
>>> def my_mul(x,y):
... return x*y
...
>>> a = [1,2,3,4]
>>> b = [2,3,4,5]
>>>
>>> list(map(my_mul,a,b))
[2, 6, 12, 20]
>>>
Tentu saja:
map(f, iterable)
setara dengan
[f(x) for x in iterable]
Jadi kami bisa mendapatkan solusi kami melalui:
>>> [my_mul(x,y) for x, y in zip(a,b)]
[2, 6, 12, 20]
>>>
Dalam Python 2.x map()
artinya: terapkan fungsi ke setiap elemen iterable dan buat daftar baru. Di Python 3.x, map
buat iterator alih-alih daftar.
Daripada my_mul
kita bisa menggunakan mul
operator
Python 2.7
>>>from operator import mul
>>>a = [1,2,3,4]
>>>b = [2,3,4,5]
>>>map(mul,a,b)
[2, 6, 12, 20]
>>>
Python 3.5+
>>> from operator import mul
>>> a = [1,2,3,4]
>>> b = [2,3,4,5]
>>> [*map(mul,a,b)]
[2, 6, 12, 20]
>>>
Harap dicatat bahwa karena map()
membangun sebuah iterator kami menggunakan *
operator unpacking iterable untuk mendapatkan daftar. Pendekatan unpacking sedikit lebih cepat daripada list
konstruktor:
>>> list(map(mul,a,b))
[2, 6, 12, 20]
>>>