Sådan sorteres næsten enhver type liste i Python

Sådan sorteres næsten enhver type liste i Python

Sortering af en liste i Python lader dig arrangere dens elementer i stigende eller faldende rækkefølge.





I stedet for at skrive lange kodeblokke for at gøre det, har Python en indbygget metode, der lader dig sortere elementerne i enhver liste eller matrix. Vi forklarer, hvordan du gør det i dette indlæg.





Sådan sorteres en liste i Python

Du kan sortere elementerne på en liste eller array ved hjælp af Python sortere() metode.





Det sortere() metode i Python accepterer to valgfrie argumenter, og syntaksen ser sådan ud:

list.sort(key = function, reverse = True/False)

Som standard er sortere() metode ordner emnerne på en liste i stigende rækkefølge:



myList = ['C', 'D', 'B', 'A', 'F']
myList.sort()
print(myList)
Output: ['A', 'B', 'C', 'D', 'F']

Du kan bruge baglæns argument for at se listen i faldende rækkefølge:

myList = ['C', 'D', 'B', 'A', 'F']
myList.sort(reverse = True)
print(myList)
Output: ['F', 'D', 'C', 'B', 'A']

Du kan også arrangere emnerne på en liste efter længden af ​​hver streng.





For at gøre det skal du oprette en funktion og sende den ind i sortere() metode ved hjælp af valgfri nøgle argument:

myList = ['MUO', 'Python', 'JavaScript', 'Sort', 'Sortlists']
def sortLength(item):
return len(item)
myList.sort(reverse = True, key = sortLength)
print(myList)
Output: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

Sådan sorteres en liste over ordbøger i Python

Du kan bruge sortere() metode til også at sortere en liste over ordbøger.





Lad os sortere opgaverne i nedenstående ordbog efter deres tid:

myArray = [
{'Task': 'Wash', 'Time': 12.00},
{'Task':'Football', 'Time': 24.00},
{'Task':'Sort', 'Time': 17.00},
{'Task':'Code', 'Time': 15.00}
]
def sortByTime(item):
return item['Time']
myArray.sort(key = sortByTime)
print(myArray)

Da tidsværdierne er heltal, omarrangerer ovenstående kodeblok matrixen baseret på opgavetiden.

Relaterede: Hvordan arrays og lister fungerer i Python

Ud over at sortere arrayet ovenfor efter tid, kan du også arrangere det alfabetisk ved hjælp af opgaverne, som er strenge.

For at sortere efter streng i eksempelmatrixen skal du kun ændre Tid i firkantet beslag til Opgave :

myArray = [
{'Task': 'Wash', 'Time': 12.00},
{'Task':'Football', 'Time': 24.00},
{'Task':'Sort', 'Time': 17.00},
{'Task':'Code', 'Time': 15.00}
]
def sortByTime(item):
return item['Task']
myArray.sort(key = sortByTime)
print(myArray)

Du kan også sortere opgaverne i omvendt rækkefølge ved at indstille baglæns til sandt:

myArray.sort(key = sortByTime, reverse = True)

Du kan også bruge en lambda -funktion med sortere() for renere kode:

myArray.sort(key = lambda getTime: getTime['Time'])
print(myArray)

Sådan sorteres en indlejret pythonliste

Du kan sortere en indlejret liste over tupler efter indekset for hvert indlejret element på listen.

For eksempel bruger koden herunder det tredje element i hver tupel til at sortere listen i stigende rækkefølge:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex(a):
return a[2]
Alist.sort(key = sortByThirdIndex)
print(Alist)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

I outputtet ovenfor stiger det tredje element i hver tupel fra nul til tyve i træk.

Bemærk, at dette ikke fungerer med et Python -sæt, da du ikke kan indeksere det. Oven i det skal hver rede på listen tilhøre den samme datatype.

Relateret: Hvad er et sæt i Python og hvordan man opretter et

hvordan man sletter en linket konto

For at arrangere output i faldende rækkefølge:

Alist.sort(key = getIndex, reverse = True)
print(Alist)
Output: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Lad os se, hvordan dette ser ud med en lambda fungerer også:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted(Alist, key = lambda a: a[2])
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Sådan sorteres en liste ved hjælp af metoden Sorted ()

Alternativt kan du bruge sorteret () metode.

Selvom det fungerer på samme måde som sortere() metode, opretter den en ny sorteret liste uden at ændre originalen. Dens syntakslayout er også lidt anderledes.

Syntaksen for sorteret () Metoden ser generelt sådan ud:

sorted(list, key = function, reverse = True/False)

Så for at sortere en liste ved hjælp af sorteret () metode, skal du oprette en ny variabel til den sorterede liste:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex(a):
return a[2]
newList = sorted(Alist, key = getIndex)
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Det sorteret () metode accepterer også a lambda fungere som dens nøgle:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = sorted(Alist, key = lambda a: a[2])
print(newList)
Output: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Hvor kan du anvende listsortering?

En solid forståelse af Python -sorteringsmetoden er nødvendig for effektiv programmering. Det lader dig styre, hvordan en liste eller et array kommer igennem, og du kan altid anvende det i virkelige projekter. For eksempel kan sortering af en Python-liste være praktisk, når du omarrangerer data fra en API eller en database, så det giver mere mening for en slutbruger.

Del Del Tweet E -mail Sådan tilføjes en liste i Python

Arbejder du med lister i Python? Her er hvad du har brug for at vide om brug af Python append -funktionen, når du arbejder med lister.

Læs Næste
Relaterede emner
  • Programmering
  • Python
  • Kodning Tutorials
Om forfatteren Idisou Omisola(94 artikler udgivet)

Idowu brænder for alt smart teknologi og produktivitet. I fritiden leger han med kodning og skifter til skakbrættet, når han keder sig, men han elsker også at bryde væk fra rutinen en gang imellem. Hans passion for at vise folk vejen rundt om moderne teknologi motiverer ham til at skrive mere.

Mere fra Idowu Omisola

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!

Klik her for at abonnere