Wyzwanie podsumowujące — sortowanie z lambda
Część sekcji Logika i przepływ programu ścieżki Python w Coddy. Lekcja 59 z 78.
Funkcje lambda są niezwykle przydatne w połączeniu z funkcją sorted(), aby dostosować sortowanie do różnych sytuacji. Oto kilka przykładów:
Sortowanie ciągów znaków według długości:
names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Wynik: ['Bob', 'Alice', 'Diana', 'Charlie']Sortowanie słowników według wartości:
grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Wynik: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]Sortowanie liczb według wartości bezwzględnej:
numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Wynik: [-10, 15, -20, 25]Sortowanie krotek według wielu kryteriów:
data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Wynik: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]Wyzwanie
ŁatwyUtwórz funkcję o nazwie sort_tuples, która przyjmuje jako argument listę krotek data. Każda krotka w data zawiera dwa elementy: ciąg znaków i liczbę. Funkcja powinna użyć funkcji sorted() wraz z funkcją lambda, aby posortować listę krotek według drugiego elementu (liczby) w kolejności rosnącej. Funkcja powinna zwrócić posortowaną listę krotek.
Spróbuj swoich sił
def sort_tuples(data):
# Wpisz kod tutajTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Odkrywanie zmiennych
StałeWielokrotne przypisania zmiennychZamiana zmiennychZmienne zastępczeZaokrąglanie liczbKonwersja na listę4Aplikacja książki kontaktów
Wyświetl menuDodaj kontakt7Zbiory — część 2
Działania matematyczne — część 1Działania matematyczne — część 2Powtórka — poszukiwanie skarbówPodzbiory i nadzbioryIterowanie po zbiorachPowtórka — śledzenie turnieju10Podstawowe składanie list
SkładniaTworzenie prostych listDodawanie warunkówUżywanie agregacji danychPowtórka – dom listPowtórka – elementy wolności13System zarządzania zapasami
Przegląd projektuDodawanie produktu2Słowniki — część 1
Czym jest słownik?Tworzenie słownikaDostęp do wartościModyfikowanie słownikówPowtórzenie — menedżer przepisów5Zaawansowane podejmowanie decyzji
Operator warunkowySprawdzanie przynależnościSprawdzanie tożsamościBłędy wcięćPowtórka — filtr wakacyjny8Menedżer rekordów uczniów
Przegląd projektuDodawanie ucznia11Zaawansowane funkcje
Zwracanie wielu wartościFunkcje lambda — część 1Funkcje lambda — część 2Wyzwanie podsumowujące — sortowanie z lambdaFunkcje rekurencyjne — część 1Funkcje rekurencyjne — część 2Podsumowanie — suma elementów zagnieżdżonej listy14Funkcje wyższego rzędu
Funkcja mapFunkcja filterPodsumowanie – walidator adresów e-mailPodsumowanie – procesor liczb3Słowniki, część 2
Metody słownikówZagnieżdżone słownikiSprawdzanie kluczyIterowanie po słownikachPowtórzenie — licznik częstotliwości9Zaawansowana agregacja danych
Używanie sumyZnajdowanie minimum i maksimumEfektywne sortowanie danychPowtórka – sortowanie słowników12Podstawowa obsługa błędów
Czym jest obsługa błędów?Blok try i exceptObsługa wielu wyjątkówPodsumowanie – błędy w koszyku zakupowymPoćwicz samodzielnie: Kompilator Python online