Sąrašo arba masyvo apvertimas yra įprasta programavimo užduotis. Yra daug atvejų, kai gali tekti pateikti duomenis atvirkštine tvarka, pavyzdžiui, rūšiuojant sąrašą.

Kaip galite pakeisti sąrašą ar masyvą naudodami Python? Šiame straipsnyje sužinosite apie skirtingus metodus.

Sukurkite kopiją naudodami for Loop

Nors Python yra ciklas yra išsamesnis, kai kuriais atvejais tai gali būti naudinga. Pavyzdžiui, jis suteikia daugiau lankstumo atliekant sudėtingą logiką kai kuriuose atvirkštinės operacijos taškuose.

Naudojant įdubą dėl ciklas, įprastas metodas yra kartoti pradinį sąrašą atvirkštine tvarka. Pradedant nuo galutinio elemento, kiekviena iteracija prideda ankstesnį elementą prie naujo sąrašo.

Kaip pavyzdys pateiktas sveikųjų skaičių nuo vieno iki devynių sąrašas, štai kaip apversti masyvą naudojant įtrauką dėl kilpa:

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

# Sukurkite tuščią sąrašą, kad būtų laikomas atvirkštinis masyvas:
reversed_list = []

# Atimkite vieną iš pradinio masyvo ilgio, kad pradėtumėte nuo paskutinio indekso:
reduktorius = len (kalbos)-1

instagram viewer

# Apverskite sąrašą for ciklo viduje:
man kalbomis:
reversed_list.append (kalbos[reduktorius]) # Pridėkite rezultatą prie tuščio sąrašo
reduktorius -=1 # Sumažinkite indeksą vienu kiekvienos iteracijos metu naudodami reduktorių

spausdinti (reversed_list)

Išvestis:

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

Apverskite sąrašą arba masyvą naudodami sąrašo supratimą

A sąrašo supratimas sukuria trumpesnį kodą. Ir nereikia laikinojo kintamojo, nes sąrašo supratimas veikia pagal sąrašą.

Norėdami atlikti ankstesnę operaciją naudodami sąrašo supratimą:

reduktorius = len (kalbos)

# Sumažinkite indeksą diapazono funkcijoje naudodami for ciklus sąrašo suvokime
Reversed_list = [kalbos[reduktorius] diapazone (reduktorius -1,-1,-1)]
spausdinti (atvirkštinis_sąrašas)

Išvestis:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Naudokite Slice operatorių

Sąrašo pjūvio operatorius yra gana paprastas, nors jis turi tam tikrų apribojimų. Pavyzdžiui, gali nepavykti tinkinti išvesties, kaip tai darytumėte naudodami a dėl kilpa.

Štai kaip apversti sąrašą naudojant skilties operatorių:

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

Išvestis:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

The [::-1] sintaksė yra protingas spartusis klavišas, dėl kurio gaunamas atvirkštinis sąrašas. Iš tikrųjų tai reiškia „nukopijuoti kiekvieną sąrašo elementą, pradedant nuo pabaigos ir skaičiuojant atgal“ – t. y. „atsukti“!

Naudokite atvirkštinį masyvo metodą

Tai dar vienas metodas, kuris veikia vietoje: jis pakeičia pradinį masyvą. Tai gali būti trūkumas, nes negalite išlaikyti ankstesnio sąrašo kitoms operacijoms.

Štai kaip apversti masyvą naudojant atvirkštinį metodą:

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

Išvestis:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Naudokite atvirkštinę funkciją

Atvirkštinė funkcija kartoja sąrašą, masyvą ar bet kurią kitą seką ir grąžina atvirkštinę kopiją. Tačiau atvirkštinę išvestį turite aiškiai deklaruoti kaip sąrašą.

Tai veikia taip:

kalbos = [1, 2, 3, 4, 5, 6, 7, 8, 9]
spausdinti (sąrašas (atvirkščias (kalbos)))

Išvestis:
[9, 8, 7, 6, 5, 4, 3, 2, 1]

Būkite kūrybingi su masyvais

Masyvai arba sąrašai yra įprasti duomenų saugojimo būdai. Atsižvelgiant į jūsų tikslą, galbūt norėsite pateikti duomenis klientui atvirkštine tvarka. Vienas iš būdų tai padaryti yra apversti masyvą arba sąrašą prieš jį pateikiant. Kaip matėte, yra keletas būdų, kaip apversti sąrašą Python. Pasirinkite tai, kas jums labiausiai tinka ir atitinka jūsų logiką konkrečios problemos atveju.

Taip pat galbūt norėsite pamatyti, kaip pakeisti masyvą kitomis programavimo kalbomis, kad geriau suprastumėte fono logiką.

Kaip pakeisti masyvą C++, Python ir JavaScript

Skaitykite toliau

DalintisTviteryjeDalintisEl. paštas

Susijusios temos

  • Programavimas
  • Programavimas
  • Python
  • Algoritmai

Apie autorių

Idowu Omisola (138 straipsniai paskelbti)

Idowu aistringai vertina viską, kas yra išmanioji technologija ir produktyvumas. Laisvalaikiu jis žaidžia koduodamas ir, kai jam nuobodu, pereina prie šachmatų lentos, tačiau taip pat mėgsta retkarčiais atitrūkti nuo rutinos. Jo aistra parodyti žmonėms kelią apie šiuolaikines technologijas skatina jį rašyti daugiau.

Daugiau iš Idowu Omisola

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia