Listan tai taulukon kääntäminen on yleinen ohjelmointitehtävä. On monia tapauksia, joissa saatat joutua esittämään tiedot käänteisessä järjestyksessä, kuten luetteloa lajitettaessa.

Kuinka voit kääntää luettelon tai taulukon Pythonilla? Opit eri lähestymistavat tästä artikkelista.

Luo kopio for Loopin avulla

Sillä aikaa Python for loop on monisanaisempi, se voi olla kätevä joissakin tapauksissa. Se tarjoaa esimerkiksi enemmän joustavuutta suoritettaessa monimutkaista logiikkaa joissakin käänteisen toiminnan kohdissa.

Kun käytät sisennystä varten silmukka, yleinen lähestymistapa on iteroida alkuperäinen luettelo käänteisessä järjestyksessä. Viimeisestä elementistä alkaen jokainen iteraatio lisää sitten edellisen elementin uuteen luetteloon.

Kun esimerkkinä annetaan luettelo kokonaisluvuista yhdestä yhdeksään, tässä on kuinka taulukko käännetään sisennettyä varten silmukka:

kielet = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Luo tyhjä luettelo käänteisen taulukon säilyttämiseksi:
käänteinen_lista = []

# Vähennä yksi alkuperäisen taulukon pituudesta aloittaaksesi viimeisestä indeksistä:

instagram viewer

supistus = len (kielet)-1

# Käännä luettelo for-silmukan sisällä:
minulle kielillä:
reversed_list.append (languages[reducer]) # Liitä tulos tyhjään luetteloon
vähennysventtiili -=1 # Pienennä indeksiä yhdellä kussakin iteraatiossa käyttämällä supisinta

tulosta (käänteinen_luettelo)

Lähtö:

[9, 8, 7, 6, 5, 4, 3, 2, 1]

Listan tai taulukon kääntäminen käänteiseksi käyttämällä luettelon ymmärtämistä

A listan ymmärtäminen tuottaa lyhyemmän koodin. Väliaikaista muuttujaa ei tarvita, koska luettelon ymmärtäminen vaikuttaa luetteloon paikallaan.

Voit suorittaa edellisen toiminnon käyttämällä luettelon ymmärtämistä:

supistin = len (kielet)

# Pienennä indeksiä aluefunktiossa käyttämällä for-silmukkaa luettelon ymmärtämisessä
Reversed_list = [kielet[vähennys] alueella (pienennys -1,-1,-1)]
tulosta (käänteinen_luettelo)

Lähtö:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Käytä Slice-operaattoria

Listan viipaleiden operaattori on melko yksinkertainen, vaikka sillä on joitain rajoituksia. Et esimerkiksi ehkä voi mukauttaa tulostetta samalla tavalla kuin käytettäessä a varten silmukka.

Voit kääntää luettelon slice-operaattorilla seuraavasti:

kielet = [1, 2, 3, 4, 5, 6, 7, 8, 9]
rev_list = kielet[::-1]
tulosta (rev_list)

Lähtö:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

The [::-1] syntaksi on näppärä pikakuvake, joka johtaa käänteiseen luetteloon. Se tarkoittaa itse asiassa "kopioi luettelon jokainen elementti, alkaen lopusta ja laskemalla taaksepäin" - eli "käännä se taaksepäin"!

Käytä taulukon käänteistä menetelmää

Tämä on toinen menetelmä, joka toimii paikallaan: se muokkaa alkuperäistä taulukkoa. Tämä voi olla puute, koska et voi säilyttää edellistä luetteloa muita toimintoja varten.

Näin voit kääntää taulukon käänteisellä menetelmällä:

kielet = [1, 2, 3, 4, 5, 6, 7, 8, 9]
languages.reverse()
tulostaa (kielet)

Lähtö:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Käytä käänteistä toimintoa

Käänteinen funktio iteroi luettelon, taulukon tai minkä tahansa muun sekvenssin yli ja palauttaa käänteisen kopion. Sinun on kuitenkin ilmoitettava käänteinen tulos luettelona.

Näin se toimii:

kielet = [1, 2, 3, 4, 5, 6, 7, 8, 9]
tulosta (luettelo (käänteinen (kielet)))

Lähtö:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Luovuutta taulukoiden avulla

Taulukot tai luettelot ovat yleisiä tapoja tallentaa tietoja. Tavoitteesta riippuen saatat haluta esittää tiedot asiakkaalle käänteisessä järjestyksessä. Yksi tapa tehdä tämä on kääntää matriisi tai lista ennen sen hahmontamista. Kuten olet nähnyt, Pythonissa on muutama tapa kääntää luettelo. Valitse, mikä toimii sinulle parhaiten ja sopii logiikkasi tiettyyn ongelmaan.

Saatat myös haluta nähdä, kuinka taulukko voidaan kääntää muilla ohjelmointikielillä ymmärtääksesi taustalogiikkaa paremmin.

Kuinka kääntää taulukko C++:ssa, Pythonissa ja JavaScriptissä

Lue Seuraava

JaaTweetJaaSähköposti

Liittyvät aiheet

  • Ohjelmointi
  • Ohjelmointi
  • Python
  • Algoritmit

Kirjailijasta

Idowu Omisola (138 artikkelia julkaistu)

Idowu on intohimoinen kaikkeen älykkääseen tekniikkaan ja tuottavuuteen. Vapaa-ajallaan hän leikkii koodaamalla ja vaihtuu shakkilaudalle, kun on kyllästynyt, mutta hän myös pitää välillä irtautumisesta rutiineista. Hänen intohimonsa näyttää ihmisille tietä modernin tekniikan parissa motivoi häntä kirjoittamaan lisää.

Lisää Idowu Omisolalta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi