A lista rendezése a Pythonban lehetővé teszi, hogy elemeit növekvő vagy csökkenő sorrendbe rendezze.

Ahelyett, hogy hosszú kódblokat írna, a Pythonnak van egy beépített módszere, amely lehetővé teszi az elemek rendezését bármelyik listában vagy tömbben. Ebben a bejegyzésben elmagyarázzuk, hogyan kell ezt megtenni.

Lista rendezése a Pythonban

A listában vagy tömbben lévő elemeket a Python segítségével rendezheti fajta() módszer.

A fajta() A Python metódus két opcionális argumentumot fogad el, és a szintaxis így néz ki:

list.sort (kulcs = függvény, fordított = Igaz / Hamis)

Alapértelmezés szerint a fajta() A módszer a lista elemeit növekvő sorrendbe rendezi:

myList = ["C", "D", "B", "A", "F"]
myList.sort ()
nyomtatás (myList)
Kimenet: ['A', 'B', 'C', 'D', 'F']

Használhatja a fordított argumentum a lista csökkenő sorrendben történő megtekintéséhez:

myList = ["C", "D", "B", "A", "F"]
myList.sort (fordított = Igaz)
nyomtatás (myList)
Kimenet: ['F', 'D', 'C', 'B', 'A']

A lista elemeit az egyes karakterláncok hossza szerint is elrendezheti.

Ehhez hozzon létre egy függvényt, és adja át a fajta() módszer az opcionális használatával kulcs érv:

myList = ["MUO", "Python", "JavaScript", "Rendezés", "Rendezési listák"]
def sortLength (elem):
return len (elem)
myList.sort (fordított = True, kulcs = sortLength)
nyomtatás (myList)
Kimenet: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

A szótárak rendezése a Pythonban

Használhatja a fajta() módszer a szótárak listájának rendezésére is.

Rendezzük az alábbi szótárban szereplő feladatokat az idő szerint:

myArray = [
{"Feladat": "Mosás", "Idő": 12.00},
{"Feladat": "Labdarúgás", "Idő": 24.00},
{"Feladat": "Rendezés", "Idő": 17.00},
{"Feladat": "Kód", "Idő": 15.00}
]
def sortByTime (elem):
return item ["Idő"]
myArray.sort (kulcs = sortByTime)
nyomtatás (myArray)

Mivel az idő értékei egész számok, a fenti kódblokk átrendezi a tömböt a feladat ideje alapján.

Összefüggő: A tömbök és listák működése a Pythonban

A fenti tömb idő szerinti rendezése mellett ábécé sorrendbe is rendezheti a karakterláncokból álló feladatokat.

A példa tömb sztring szerinti rendezéséhez csak változtatnia kell Idő a szögletes zárójelben a Feladat:

myArray = [
{"Feladat": "Mosás", "Idő": 12.00},
{"Feladat": "Labdarúgás", "Idő": 24.00},
{"Feladat": "Rendezés", "Idő": 17.00},
{"Feladat": "Kód", "Idő": 15.00}
]
def sortByTime (elem):
cikk visszaküldése ["Feladat"]
myArray.sort (kulcs = sortByTime)
nyomtatás (myArray)

A feladatokat fordított sorrendben is rendezheti beállítással fordított igazra:

myArray.sort (kulcs = sortByTime, fordított = True)

Te is használjon lambda funkciót val vel fajta() a tisztább kódért:

myArray.sort (kulcs = lambda getTime: getTime ["Idő"])
nyomtatás (myArray)

Beágyazott Python-lista rendezése

A beillesztett sorrendű sorrendeket a lista minden beágyazott elemének indexe szerint rendezheti.

Például az alábbi kód az egyes táblák harmadik elemét használja a lista növekvő sorrendbe rendezéséhez:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
adjon vissza egy [2]
Alist.sort (kulcs = sortByThirdIndex)
nyomtatás (Alist)
Kimenet: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

A fenti kimenetben az egyes duplák harmadik eleme nulláról húszra növekszik egymás után.

Vegye figyelembe, hogy ez nem működik egy Python-készlettel, mivel nem indexelheti. Ráadásul a lista minden fészkének ugyanahhoz az adattípushoz kell tartoznia.

Összefüggő: Mi a készlet a Pythonban és hogyan hozható létre

A kimenet csökkenő sorrendbe rendezéséhez:

Alist.sort (kulcs = getIndex, fordított = Igaz)
nyomtatás (Alist)
Kimenet: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Lássuk, hogyan néz ki ez a lambda funkció is:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = rendezve (Alist, kulcs = lambda a: a [2])
nyomtatás (newList)
Kimenet: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Hogyan válogassunk listát a rendezés () módszerrel

Alternatív megoldásként használhatja a rendezve () módszer.

Bár hasonlóan működik, mint a fajta() módszerrel új rendezett listát hoz létre az eredeti módosítása nélkül. Szintaxis elrendezése is kissé eltér.

A. Szintaxisa rendezve () módszer általában így néz ki:

rendezve (lista, kulcs = függvény, fordított = igaz / hamis)

Tehát egy lista rendezéséhez a rendezve () módszerrel létre kell hozni egy új változót a rendezett listához:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
adjon vissza egy [2]
newList = rendezve (Alist, kulcs = getIndex)
nyomtatás (newList)
Kimenet: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

A rendezve () módszer is elfogadja a lambda funkció kulcsként:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = rendezve (Alist, kulcs = lambda a: a [2])
nyomtatás (newList)
Kimenet: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Hol lehet alkalmazni a listák rendezését?

A hatékony programozáshoz meg kell ismerni a Python rendezési módszert. Ez lehetővé teszi a lista vagy tömb megjelenésének szabályozását, és mindig alkalmazhatja valós projektekben. Például a Python-lista rendezése hasznos lehet, ha az adatokat átrendezzük egy API-ból vagy egy adatbázisból, így ésszerűbb egy végfelhasználó számára.

Email
Hogyan csatolhatunk listát a Python-ban

A listák használata a Pythonban? Itt van, amit tudnia kell a Python append függvény használatáról, amikor listákkal dolgozik.

Olvassa el a következőt

Kapcsolódó témák
  • Programozás
  • Piton
  • Kódolási oktatóanyagok
A szerzőről
Idowu Omisola (66 cikk megjelent)

Idowu minden okos technológiával és termelékenységgel rajong. Szabadidejében kódolással játszik, és ha unatkozik, átvált a sakktáblára, de imád egyszer-egyszer elszakadni a rutintól. Az a szenvedély, hogy megmutatja az embereknek a modern technológiát, további írásra ösztönzi.

Tovább Idowu Omisolától

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!

Még egy lépés…!

Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.

.