Źródło: Arkusze CKE
Co zostanie wyświetlone po wykonaniu poniższego kodu w języku Python?
data = [1, 2, 3, 4, 5]
result = list(map(lambda x: x*2, filter(lambda x: x % 2 == 0, data)))
print(result)
Warianty odpowiedzi
-
A
[1, 2, 3, 4, 5]
-
B
[2, 6, 10]
-
C
[4, 8]
-
D
[2, 4, 6, 8, 10]
Wyjaśnienie
W tym kodzie mamy do czynienia z przetwarzaniem listy w dwóch krokach, czytając wyrażenie od wewnątrz do zewnątrz.
W pierwszym kroku funkcja filter odrzuca liczby nieparzyste i zostawia tylko te, dla których reszta z dzielenia przez 2 wynosi 0. Z listy [1, 2, 3, 4, 5] pozostają liczby 2 i 4.
W drugim kroku funkcja map bierze te przefiltrowane wartości i mnoży każdą z nich przez 2.
Z dwójki i czwórki powstają odpowiednio 4 oraz 8, tworząc ostateczną listę wyników [4, 8].