Python karte ()

Funkcija map () piešķir noteiktu funkciju katram iterējamajam elementam (saraksts, kopa utt.) Un atgriež rezultātu sarakstu.

Sintakse map()ir:

 karte (funkcija, iterējama,…)

karte () Parametrs

  • funkcija - map()katru iterējamo elementu nodod šai funkcijai.
  • iterējams - atkārtojams, kas ir jāaplūko

map()Funkcijai varat nodot vairāk nekā vienu iterējamu .

Atgriezties vērtība no kartes ()

map()Funkcija attiecas konkrētā darboties pie katra iterable un atgriež sarakstu ar rezultātiem.

Pēc tam atgriezto vērtību no map()(kartes objekta) var nodot tādām funkcijām kā saraksts () (lai izveidotu sarakstu), kopa () (lai izveidotu kopu) utt.

1. piemērs: Kartes () darbība

 def calculateSquare(n): return n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)

Rezultāts

 (16, 1, 4, 9)

Iepriekš minētajā piemērā katrs kopas elements ir kvadrāts.

Tā kā map()sagaida, ka funkcija tiks nodota, strādājot ar map()funkcijām, parasti tiek izmantotas lambda funkcijas.

Lambda funkcija ir īsa funkcija bez nosaukuma. Apmeklējiet šo lapu, lai uzzinātu vairāk par Python lambda funkciju.

2. piemērs: Kā lietot lambda funkciju ar karti ()?

 numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)

Rezultāts

 (16, 1, 4, 9)

Šajā piemērā un 1. piemērā nav atšķirību funkcionalitātēs .

3. piemērs: Vairāku atkārtotāju nodošana kartē (), izmantojot Lambda

Šajā piemērā tiek pievienoti atbilstošie divu sarakstu vienumi.

 num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))

Rezultāts

 (9, 11, 13)

Interesanti raksti...