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

single

bookSorted-Funktion Perusteet

Pyyhkäise näyttääksesi valikon

Tietojen lajittelu on yleinen toimenpide, kun käsitellään listoja Pythonissa. sorted-funktio on sisäänrakennettu korkeamman asteen funktio, jonka avulla voit lajitella minkä tahansa iteroitavan ja saat uuden lajitellun listan, jolloin alkuperäinen data säilyy muuttumattomana. Voit käyttää sorted-funktiota joko oletuslajittelulla tai määrittämällä oman lajittelulogiikan. Oletuksena sorted järjestää alkiot nousevaan järjestykseen, mutta voit hallita lajittelujärjestystä ja -kriteerejä valinnaisilla parametreilla.

Tärkeimmät parametrit sorted-funktiolle ovat:

  • iterable: data, jonka haluat lajitella;
  • key: valinnainen funktio, joka määrittää, minkä arvon perusteella kukin alkio lajitellaan;
  • reverse: totuusarvo, joka asettamalla True lajitellaan data laskevaan järjestykseen.

Oletetaan, että sinulla on lista numeroita ja haluat lajitella ne nousevaan järjestykseen. Voit yksinkertaisesti kutsua sorted(numbers). Jos haluat lajitella numerot laskevaan järjestykseen, voit antaa parametrin reverse=True.

12345
numbers = [9, 5, 2, 1] # Sorting in reverse order sorted_desc = sorted(numbers, reverse=True) print(sorted_desc)
copy

Voit myös käyttää key-parametria lajitellaksesi monimutkaisempia tietorakenteita, kuten tuplejen tai sanakirjojen listoja, määrittämällä funktion, joka poimii vertailuarvon kustakin alkiosta.

12345
words = ["apple", "kiwi", "banana"] # Sorting by the length of each string sorted_words = sorted(words, key=len) print(sorted_words)
copy

Voit välittää minkä tahansa funktion key-parametriin, mukaan lukien lambda-funktion tai aiemmin määritellyn funktion. Tämä tekee sorted-funktiosta korkeamman asteen funktion, koska se ottaa toisen funktion argumenttina. Lajittelu ei rajoitu vain numeroihin tai merkkijonoihin; voit lajitella monimutkaisia olioita, kunhan määrität sopivan key-funktion.

Note
Huomio

Alkuperäinen iteroitava ei muutu sorted-funktion käytössä, vaan se palauttaa aina uuden listan. Jos haluat lajitella listan paikan päällä, käytä list.sort()-metodia.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Järjestä lista tupleja toisen alkion perusteella käyttämällä sorted-funktiota ja nimettyä funktiota key-parametrina.

  • Sinulle annetaan lista nimeltä pairs, joka sisältää kaksi kokonaislukua sisältäviä tupleja.
  • Määrittele funktio nimeltä get_second_element, joka ottaa tuplen ja palauttaa sen toisen arvon.
  • Käytä sorted-funktiota ja anna get_second_element key-parametrina, jotta pairs järjestetään jokaisen tuplen toisen arvon mukaan.
  • Tallenna tulos muuttujaan nimeltä sorted_pairs.
  • 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 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

some-alt