PythonFunkcje wbudowane
sorted()
Zwraca nową, posortowaną listę z elementów dowolnej kolekcji.
- Zwraca
- Nową, posortowaną listę.
Przykład
#Python
scores = [72, 95, 64, 88]
print(sorted(scores))
print(sorted(scores, reverse=True))
print(sorted(["Python", "CSS", "HTML"], key=len))
print(scores)Wynikzapisany wynik, możesz go sprawdzić
[64, 72, 88, 95]
[95, 88, 72, 64]
['CSS', 'HTML', 'Python']
[72, 95, 64, 88]
Definicja i zastosowanie
#Funkcja sorted() tworzy nową listę z posortowanymi elementami. Oryginalna kolekcja się nie zmienia, więc działa także na krotkach, zbiorach i napisach.
Parametr key przyjmuje funkcję, której wynik decyduje o kolejności, na przykład key=len sortuje po długości, a key=lambda s: s["points"] po polu słownika. Parametr reverse=True odwraca kolejność.
Sortowanie w Pythonie jest stabilne: elementy o równych kluczach zachowują wzajemną kolejność. Pozwala to sortować po kilku kryteriach, sortując najpierw po mniej ważnym.
Składnia
#Składnia
sorted(iterable, key=None, reverse=False)Parametry
#iterable
kolekcja
Elementy do posortowania.key
funkcja, opcjonalna
Funkcja wyliczająca klucz sortowania.reverse
bool, domyślnie False
Sortowanie malejące, gdyTrue.
Więcej przykładów
#Python
students = [
{"name": "Kuba", "points": 90},
{"name": "Ania", "points": 120},
{"name": "Ola", "points": 90},
]
ranking = sorted(students, key=lambda s: (-s["points"], s["name"]))
print([s["name"] for s in ranking])Wynikzapisany wynik, możesz go sprawdzić
['Ania', 'Kuba', 'Ola']
Dobre praktyki
#- Do sortowania po kilku kryteriach zwracaj z
keykrotkę, np.(-punkty, imie). - Jeśli chcesz posortować listę w miejscu, bez tworzenia nowej, użyj metody
list.sort().
Powiązane hasła
#- list.sort()Sortuje listę w miejscu.
- reversed()Zwraca iterator przechodzący po sekwencji od końca.
- lambdaKrótka funkcja anonimowa zapisana w jednym wyrażeniu.
- min()Zwraca najmniejszy element kolekcji lub najmniejszy z argumentów.
- ord()Zwraca kod Unicode pojedynczego znaku, np. ord("A") to 65. Działa odwrotnie niż chr().
Widzisz błąd albo brakuje przykładu? Napisz do nas.