Funkcja sorted() w Pythonie to wbudowana funkcja, która zwraca nową posortowaną listę na podstawie podanego iterowalnego obiektu, takiego jak lista, krotka czy słownik. Służy do porządkowania danych w rosnącej lub malejącej kolejności, bez modyfikowania oryginalnej kolekcji. Jest elastyczna dzięki parametrom jak klucz (key) i odwrócenie (reverse), co czyni ją niezastąpioną w przetwarzaniu danych.
Przykład w e-commerce
W e-commerce wyobraź sobie analizę koszyków zakupowych: chcesz posortować produkty po cenie jednostkowej, by zidentyfikować najdroższe oferty i zoptymalizować promocje.
# Przykładowe dane: lista produktów z cenami
produkty = [
{"nazwa": "Laptop Dell", "cena": 4500},
{"nazwa": "Smartfon iPhone", "cena": 5000},
{"nazwa": "Słuchawki Sony", "cena": 800},
{"nazwa": "Tablet Samsung", "cena": 2200}
]
# Sortowanie po cenie rosnąco (domyślnie)
posortowane_po_cenie = sorted(produkty, key=lambda x: x["cena"])
# Sortowanie po nazwie malejąco
posortowane_po_nazwie = sorted(produkty, key=lambda x: x["nazwa"], reverse=True)
print("Posortowane po cenie (rosnąco):")
for prod in posortowane_po_cenie:
print(f"{prod['nazwa']}: {prod['cena']} zł")Zastosowanie
Kiedy używać sorted()? To narzędzie idealnie sprawdza się w scenariuszach wymagających uporządkowania danych przed dalszą analizą lub prezentacją.
- Analiza sprzedaży: Sortuj zamówienia po wartości lub dacie, by wykryć trendy sezonowe w e-sklepie.
- Rekomendacje produktów: Uporządkuj listy bestsellerów według ocen klientów lub częstotliwości zakupów.
- Raportowanie: Przygotuj dane do dashboardów, np. sortując kategorie towarów po marży zysku.
- Optymalizacja zapytań: Zamiast modyfikować oryginalne listy (lista.sort()), zachowaj oryginalną strukturę i pracuj na kopiach.
Wybieraj sorted() zawsze, gdy potrzebujesz nieinwazyjnego sortowania z niestandardowymi kryteriami.