Funkcja sortowania w Pythonie

Python Sort Function



Python to powszechnie używany język programowania ogólnego przeznaczenia. Głównymi przyczynami popularności Pythona są jego prosta składnia, wbudowane moduły i funkcje, które pozwalają wykonywać potężne zadania. Funkcja sort() jest wbudowaną funkcją w Pythonie, która sortuje elementy na liście, domyślnie w kolejności rosnącej. Możesz również użyć funkcji sort(), aby posortować elementy w kolejności malejącej lub zdefiniować kryteria sortowania. W tym artykule funkcja sort() została szczegółowo wyjaśniona na kilku prostych przykładach.

Składnia funkcji sort()

Składnia funkcji sort() jest następująca:







lista_obj.sortować(odwrócić= ,klucz= )

Oba parametry wewnątrz funkcji sort() są opcjonalne. Parametr reverse służy do sortowania listy w kolejności malejącej. Jeśli reverse=true, to lista zostanie posortowana w porządku malejącym; w przeciwnym razie reverse=false domyślnie. Parametr key określa funkcję, która definiuje kryteria sortowania. Funkcja sort() nie zmienia kolejności elementów w oryginalnym obiekcie listy; raczej tworzy kopię obiektu listy z posortowanymi elementami i zwraca ją jako dane wyjściowe.



Przykłady funkcji sort()

Poniższe przykłady opisują bardziej szczegółowo użycie funkcji sort().



Przykład 1: Sortowanie listy ciągów

Funkcja sort() sortuje listy ciągów, liczb całkowitych i liczb zmiennoprzecinkowych. W tym pierwszym przykładzie posortujemy poniższą listę ciągów w kolejności rosnącej za pomocą funkcji sort().





#ogłaszanie listy uczniów

student= ['Ocena','Jan',„Taylor”,„Donald”,„Józef”,„Albert”,„Cameron”]

wydrukować(„Oryginalna lista to:”)

wydrukować(student)

#sortowanie listy

#używanie funkcji sort()

student.sortować()

wydrukować('Posortowana lista to: ')

wydrukować(student)

Wyjście

Jak widać, lista została pomyślnie posortowana.



Następnie posortujemy listę elementów ciągu w kolejności malejącej. W tym przypadku wartość odwrotna jest równa true.

#ogłaszanie listy uczniów

student= ['Ocena','Jan',„Taylor”,„Donald”,„Józef”,„Albert”,„Cameron”]

wydrukować(„Oryginalna lista to:”)

wydrukować(student)

#sortowanie listy

#używanie funkcji sort() z parametrem reverse

student.sortować(odwrócić=Prawdziwe)

wydrukować('Posortowana lista to: ')

wydrukować(student)

Wyjście

W tym przykładzie posortujemy listę alfabetów samogłosek odpowiednio w kolejności rosnącej i malejącej.

#ogłaszanie listy uczniów

moja lista= ['i',„ty”,'do','lub','I']

wydrukować(„Oryginalna lista to:”)

wydrukować(moja lista)

#sortowanie listy w porządku rosnącym

#używanie funkcji sort()

moja lista.sortować()

wydrukować('Lista posortowana w porządku rosnącym: ')

wydrukować(moja lista)

#sortowanie listy w porządku malejącym

moja lista.sortować(odwrócić=Prawdziwe)

wydrukować('Posortowana lista w porządku malejącym: ')

wydrukować(moja lista)

Wyjście

Teraz posortujemy listę na podstawie długości każdego elementu. Funkcja funclen() sprawdza listę każdego elementu i zwraca go. Funkcja sort() następnie sortuje elementy na liście na podstawie długości każdego elementu, przy czym elementy o najkrótszej długości znajdują się na pierwszym miejscu na posortowanej liście.

#deklarowanie funkcji

definitywniefunLen(on):

powrót len(on)

#ogłaszanie listy zwierząt

moja lista= ['Koza','Kot','Słoń','Krokodyl','Królik','Nosorożec']

wydrukować(„Oryginalna lista to:”)

wydrukować(moja lista)

#sortowanie listy za pomocą funkcji funcLen

moja lista.sortować(klucz=funLen)

wydrukować('Posortowana lista to: ')

wydrukować(moja lista)

Wyjście

Aby posortować elementy tak, aby elementy o większej długości były na pierwszym miejscu, wartość parametru reverse musi być true.

#deklarowanie funkcji

definitywniefunLen(on):

powrót len(on)

#ogłaszanie listy zwierząt

moja lista= ['Koza','Kot','Słoń','Krokodyl','Królik','Nosorożec']

wydrukować(„Oryginalna lista to:”)

wydrukować(moja lista)

#sortowanie listy za pomocą funkcji funcLen

moja lista.sortować(odwrócić=Prawdziwe,klucz=funLen)

wydrukować('Posortowana lista to: ')

wydrukować(moja lista)

Wyjście

Przykład 2: Sortowanie listy liczb całkowitych

Funkcja sort() może również sortować listę liczb całkowitych w kolejności rosnącej lub malejącej.

W poniższym przykładzie zadeklarujemy listę liczb całkowitych i posortujemy ją zarówno w porządku rosnącym, jak i malejącym.

#deklarowanie listy liczb całkowitych

numList= [10,9,2,3,1,4,5,8,7]

#drukowanie oryginalnej listy

wydrukować(„Oryginalna lista to:”)

wydrukować(numList)

#sortowanie listy w porządku rosnącym

numList.sortować()

#drukowanie posortowanej listy w porządku rosnącym

wydrukować('Lista posortowana w porządku rosnącym: ')

wydrukować(numList)

#sortowanie listy w porządku rosnącym

numList.sortować(odwrócić=Prawdziwe)

#drukowanie posortowanej listy w porządku malejącym

wydrukować('Posortowana lista w porządku malejącym: ')

wydrukować(numList)

Wyjście

Lista liczb całkowitych została teraz posortowana w porządku rosnącym i malejącym.

Przykład 3: Sortowanie listy liczb zmiennoprzecinkowych

Funkcja sort() ma również zastosowanie do listy liczb zmiennoprzecinkowych.

W poniższym przykładzie posortujemy listę liczb zmiennoprzecinkowych w kolejności rosnącej i malejącej.

#deklarowanie listy liczb całkowitych

numList= [1,5,1.2,4,5,10,6,11,5,3,3,3.83,3,85]

#drukowanie oryginalnej listy

wydrukować(„Oryginalna lista to:”)

wydrukować(numList)

#sortowanie listy w porządku rosnącym

numList.sortować()

#drukowanie posortowanej listy w porządku rosnącym

wydrukować('Lista posortowana w porządku rosnącym: ')

wydrukować(numList)

#sortowanie listy w porządku rosnącym

numList.sortować(odwrócić=Prawdziwe)

#drukowanie posortowanej listy w porządku malejącym

wydrukować('Posortowana lista w porządku malejącym: ')

wydrukować(numList)

Wyjście

Lista liczb zmiennoprzecinkowych została teraz posortowana w porządku rosnącym i malejącym.

Przykład 4: Sortowanie listy elementów słownika

Słownik można umieścić wewnątrz listy jako element.

W poniższym przykładzie posortujemy elementy słownika na liście podczas tworzenia słownika uczniów. Posortujemy elementy na podstawie ich wieku.

# Funkcja zwracająca wartość „rok”:

definitywnieageFunc(on):

powróton['wiek']

#deklarowanie listy słowników studenckich

studenci= [

{'Nazwa':'Ocena', 'e-mail':' [e-mail chroniony] ' ,'wiek':28},

{'Nazwa':'Jan', 'e-mail':' [e-mail chroniony] ' ,'wiek':2. 3},

{'Nazwa':„Albert”, 'e-mail':' [e-mail chroniony] ' ,'wiek':dwadzieścia jeden},

{'Nazwa':„Cameron”, 'e-mail':' [e-mail chroniony] ' ,'wiek':27},

{'Nazwa':„Taylor”, 'e-mail':' [e-mail chroniony] ' ,'wiek':25}

]

#sortowanie listy

studenci.sortować(klucz=ageFunc)

#drukowanie posortowanej listy

wydrukować(studenci)

Wyjście

Wniosek

Funkcja sort() jest wbudowaną funkcją w Pythonie, która sortuje listę elementów. Funkcja sort() może przyjmować dwa opcjonalne parametry, tj. reverse i key. W tym artykule wyjaśniono szczegółowo, jak korzystać z funkcji sort() w języku Python na różnych przykładach.