Die map
Funktion kann hier sehr nützlich sein. Verwenden vonmap
wir jede Funktion auf jedes Element einer Iterable anwenden.
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]
>>>
Natürlich:
map(f, iterable)
ist äquivalent zu
[f(x) for x in iterable]
So können wir unsere Lösung erhalten über:
>>> [my_mul(x,y) for x, y in zip(a,b)]
[2, 6, 12, 20]
>>>
In Python map()
bedeutet 2.x : Wenden Sie eine Funktion auf jedes Element einer Iterable an und erstellen Sie eine neue Liste. In Python 3.xmap
Iteratoren anstelle von Listen.
Stattdessen my_mul
könnten wir verwenden mul
Operator verwenden
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+
>>> from operator import mul
>>> a = [1,2,3,4]
>>> b = [2,3,4,5]
>>> [*map(mul,a,b)]
[2, 6, 12, 20]
>>>
Bitte beachten Sie, dass map()
wir , da wir einen Iterator *
erstellen , den iterierbaren Entpackungsoperator verwenden, um eine Liste zu erhalten. Der Auspackansatz ist etwas schneller als der list
Konstruktor:
>>> list(map(mul,a,b))
[2, 6, 12, 20]
>>>