map
Buradaki görevi çok yararlı olabilir. Kullanarak map
, bir yinelenebilir öğenin her öğesine herhangi bir işlev uygulayabiliriz.
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]
>>>
Elbette:
map(f, iterable)
eşittir
[f(x) for x in iterable]
Böylece çözümümüzü şu yolla elde edebiliriz:
>>> [my_mul(x,y) for x, y in zip(a,b)]
[2, 6, 12, 20]
>>>
Python map()
2.x'te: bir yinelenebilir öğenin her öğesine bir işlev uygulamak ve yeni bir liste oluşturmak. Python 3.x'te map
listeler yerine yineleyiciler oluşturun.
Operatör my_mul
kullanmak yerinemul
Python 2.7
>>>from operator import mul # import mul operator
>>>a = [1,2,3,4]
>>>b = [2,3,4,5]
>>>map(mul,a,b)
[2, 6, 12, 20]
>>>
Python 3.5 ve üzeri
>>> from operator import mul
>>> a = [1,2,3,4]
>>> b = [2,3,4,5]
>>> [*map(mul,a,b)]
[2, 6, 12, 20]
>>>
map()
Bir yineleyici *
oluşturduğundan, bir liste almak için yinelenebilir ambalajlama operatörü kullandığımızı lütfen unutmayın . Paketten çıkarma yaklaşımı kurucudan biraz daha hızlıdır list
:
>>> list(map(mul,a,b))
[2, 6, 12, 20]
>>>