Sobes.tech
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śli True, 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).