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.
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
- Programozás
- Piton
- Kódolási oktatóanyagok

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.
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.