Junior — Middle
Czy możesz wyjaśnić, jak działa funkcja sorted w Pythonie i jak sortuje dane?
sobes.tech AI
Odpowiedź od AI
Funkcja sorted w Pythonie przyjmuje obiekt iterowalny (np. listę, krotkę, łańcuch znaków) i zwraca nową posortowaną listę, nie zmieniając danych źródłowych.
Domyślnie sortowanie odbywa się rosnąco, korzystając z naturalnego porządku elementów (np. numerycznego lub leksykograficznego dla łańcuchów znaków).
Możesz zmienić zachowanie sortowania za pomocą parametrów:
key— funkcja, która jest stosowana do każdego elementu, aby uzyskać wartość, według której będzie sortowanie.reverse— parametr boolean, jeśliTrue, sortuje w kolejności malejącej.
Przykład:
numbers = [5, 2, 9, 1]
sorted_numbers = sorted(numbers) # [1, 2, 5, 9]
words = ['apple', 'banana', 'cherry']
sorted_words = sorted(words, key=len) # sortowanie po długości słowa
sorted_desc = sorted(numbers, reverse=True) # [9, 5, 2, 1]
Python używa algorytmu Timsort, który jest wydajny dla rzeczywistych danych i stabilny (zachowuje kolejność równych elementów).