single
Taulukoiden Lajittelu
Pyyhkäise näyttääksesi valikon
Lajittelu tarkoittaa taulukon alkioiden järjestämistä tiettyyn järjestykseen.
Tämä toiminto on erittäin hyödyllinen, koska haku lajitellusta taulukosta on paljon nopeampaa, sillä tehokkaat algoritmit kuten binäärihaku toimivat vain lajitelluilla taulukoilla.
numpy.sort() -funktio
NumPy sisältää sisäänrakennetun sort()-funktion, jolla voidaan järjestää alkiot arvojen mukaiseen nousevaan järjestykseen. Tämän funktion palautusarvo on lajiteltu NumPy-taulukko. Yleinen syntaksi on: numpy.sort(a, axis=-1, kind=None, order=None), jossa:
aon taulukko;axison akseli, jonka mukaan lajitellaan (oletuksena viimeinen akseli (-1));kindon käytettävä lajittelualgoritmi (oletuksenaquicksort).
123import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) print(np.sort(array_1d))
ndarray.sort()-metodi
Kuten jo mainittiin, numpy.sort()-funktio palauttaa lajitellun taulukon, mutta ei muuta alkuperäistä taulukkoa. Jos haluaisimme muuttaa taulukkoa, meidän tulisi kirjoittaa array = np.sort(array).
NumPy tarjoaa kuitenkin vaihtoehtoisesti .sort()-metodin, joka lajittelee taulukon paikan päällä eikä palauta uutta taulukkoa (palauttaa None, eli ei palauta mitään). Sen syntaksi on samanlainen kuin sort()-funktion.
Funktio on itsenäinen koodilohko, joka suorittaa tietyn tehtävän ja jota voidaan kutsua suoraan. Metodi on funktio, joka liittyy olioon ja jota kutsutaan kyseiselle oliolle pisteoperaattorilla (.).
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Calling the .sort() method array_1d.sort() print(array_1d)
.sort()-metodin kutsumisen jälkeen array_1d lajitellaan paikan päällä ja sisältää nyt alkiot lajiteltuna nousevaan järjestykseen.
Yksidimensionaalisten taulukoiden lajittelu laskevaan järjestykseen
Joskus halutaan lajitella taulukko laskevaan järjestykseen. Kumpikaan .sort()-metodi tai sort()-funktio ei tue tätä ominaisuutta suoraan. Voimme kuitenkin käyttää viipalointia asettamalla step arvoksi -1 lajitellulle taulukolle:
12345import numpy as np array_1d = np.array([10, 2, 5, 1, 6, 5]) # Sorting array_1d in descending order array_1d = np.sort(array_1d)[::-1] print(array_1d)
Pyyhkäise aloittaaksesi koodauksen
Hallitset työntekijöiden palkkojen tietojoukkoa, joka on tallennettu salaries-taulukkoon.
- Järjestä palkat laskevaan järjestykseen käyttämällä sopivaa funktiota.
- Tulosta 3 korkeinta palkkaa käyttämällä viipaletta ja määrittämällä vain positiivinen
end.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme