Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Map-funktion hallinta | Korkeamman asteen funktiot ja lambdat
Funktionaalisen Ohjelmoinnin Käsitteet Pythonissa
Osio 2. Luku 2
single

single

bookMap-funktion hallinta

Pyyhkäise näyttääksesi valikon

map-funktio Pythonissa

Sisäänrakennettu map-funktio on klassinen esimerkki korkeamman asteen funktiosta. Se ottaa kaksi argumenttia: funktion ja iteroitavan (kuten listan). map soveltaa annettua funktiota jokaiseen iteroitavan alkioon ja palauttaa map-olion, joka on iteraattori. Tämän olion voi muuntaa listaksi tulosten tarkastelemiseksi. Tämä lähestymistapa on hyödyllinen datan tehokkaaseen muuntamiseen ilman eksplisiittisiä silmukoita.

Voit käyttää map-funktiota nimetyn funktion, kuten double, kanssa käsitelläksesi lukulistaa: map(double, [1, 2, 3, 4]) palauttaa map-olion, joka sisältää tuplatut arvot. Muuntamalla tuloksen listaksi saat [2, 4, 6, 8]. Tämä havainnollistaa, kuinka map toimii korkeamman asteen funktiona ottamalla toisen funktion argumenttina ja soveltamalla sitä jokaiseen iteroitavan alkioon.

123456
def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(square, numbers)) print(squared_numbers)
copy

Tässä esimerkissä square-funktiota sovelletaan jokaiseen numbers-listan alkioon. Tuloksena on uusi lista, joka sisältää alkuperäisten lukujen neliöt. Huomaa, ettei silmukkaa tarvinnut kirjoittaa — map-funktio hoiti iteraation puolestasi.

Voit käyttää map-funktiota myös sisäänrakennettujen funktioiden tai anonyymien funktioiden (lambda) kanssa, joista kerrotaan lisää tulevissa luvuissa. Tällä hetkellä keskity siihen, miten funktion välittäminen argumenttina mahdollistaa joustavat ja uudelleenkäytettävät koodimuunnokset.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Kirjoita funktio, joka ottaa vastaan funktion ja listan, ja palauttaa uuden listan, jossa funktio on sovellettu jokaiseen alkioon.

  • Funktion tulee soveltaa annettua funktiota jokaiseen annetun listan alkioon.
  • Funktion tulee palauttaa uusi lista, joka sisältää tulokset.
  • Muista poistaa pass.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt