dict. values()
Zwraca widok wartości słownika, gotowy do pętli, sumowania i wyszukiwania.
- Zwraca
- Obiekt widoku
dict_values. - Zmienia oryginał
- Nie
Przykład
#scores = {"Ania": 92, "Kuba": 78, "Ola": 85}
print(scores.values())
print(sum(scores.values()))
print(max(scores.values()))
print(78 in scores.values())Definicja i zastosowanie
#Metoda values() zwraca widok wszystkich wartości słownika w kolejności dodania kluczy. Podobnie jak widok kluczy, pokazuje zawartość na żywo, więc widać w nim każdą późniejszą zmianę słownika.
Najczęściej przekazuje się go do funkcji, które przetwarzają całą kolekcję: sum(), max(), min(), sorted() czy any(). Dzięki temu na przykład suma punktów wszystkich uczniów mieści się w jednej linii.
W odróżnieniu od kluczy wartości mogą się powtarzać i nie muszą być niezmienne, dlatego widok wartości nie obsługuje operacji na zbiorach. Sprawdzenie x in slownik.values() działa, ale przegląda wartości po kolei, więc przy dużych słownikach jest dużo wolniejsze niż szukanie klucza.
Składnia
#slownik.values()Więcej przykładów
#levels = {"Ania": 3, "Kuba": 2, "Ola": 3, "Iga": 1}
average = sum(levels.values()) / len(levels)
print(f"Średni poziom: {average:.2f}")
print(sorted(set(levels.values())))scores = {"Ania": 92, "Kuba": 78, "Ola": 85}
print(max(scores.values()))
print(max(scores, key=scores.get))Dobre praktyki
#- Sam widok wartości nie mówi, do którego klucza należy dana wartość. Gdy potrzebujesz obu, użyj
items()albomax(slownik, key=slownik.get). - Jeśli często szukasz po wartościach, zbuduj słownik odwrotny, w którym wartości są kluczami. Wyszukiwanie będzie wtedy natychmiastowe.
Powiązane hasła
#- dict.keys()Zwraca widok kluczy słownika, który zawsze pokazuje jego aktualną zawartość.
- dict.items()Zwraca widok par (klucz, wartość), najwygodniejszy sposób na pętlę po słowniku.
- sum()Dodaje do siebie wszystkie liczby z kolekcji.
- max()Zwraca największy element kolekcji lub największy z argumentów.
- sorted()Zwraca nową, posortowaną listę z elementów dowolnej kolekcji.
Widzisz błąd albo brakuje przykładu? Napisz do nas.