dict.items()

Zwraca widok par (klucz, wartość), najwygodniejszy sposób na pętlę po słowniku.

Zwraca
Obiekt widoku dict_items z krotkami (klucz, wartość).
Zmienia oryginał
Nie
Na tej stronie

Przykład

#
Python
modules = {"html": 11, "css": 9, "python": 12}

for course, count in modules.items():
    print(f"{course}: {count} modułów")

print(list(modules.items())[0])
Wynikzapisany wynik, możesz go sprawdzić
html: 11 modułów
css: 9 modułów
python: 12 modułów
('html', 11)

Definicja i zastosowanie

#

Metoda items() zwraca widok krotek (klucz, wartość) dla wszystkich wpisów słownika. W pętli for rozpakowujesz je od razu na dwie zmienne: for name, score in scores.items().

To podstawowe narzędzie do przetwarzania słowników. Łączy się z wyrażeniami słownikowymi (filtrowanie i przekształcanie wpisów), z sorted() (sortowanie po wartościach) i z dict() (budowanie słownika z listy par).

Podobnie jak inne widoki, items() pokazuje bieżący stan słownika i nie pozwala zmieniać jego rozmiaru w trakcie pętli. Zmiana wartości dla istniejącego klucza jest za to bezpieczna.

Składnia

#
Składnia
slownik.items()

Więcej przykładów

#
Sortowanie słownika po wartościach
Python
scores = {"Kuba": 78, "Ania": 92, "Ola": 85}

ranking = sorted(scores.items(), key=lambda pair: pair[1], reverse=True)
print(ranking)

for place, (name, score) in enumerate(ranking, start=1):
    print(place, name, score)
Wynikzapisany wynik, możesz go sprawdzić
[('Ania', 92), ('Ola', 85), ('Kuba', 78)]
1 Ania 92
2 Ola 85
3 Kuba 78
Filtrowanie i zmiana wartości
Python
prices = {"HTML": 49, "Python": 79, "React": 99}

cheap = {name: price for name, price in prices.items() if price < 80}
print(cheap)

for name, price in prices.items():
    prices[name] = round(price * 0.9)
print(prices)
Wynikzapisany wynik, możesz go sprawdzić
{'HTML': 49, 'Python': 79}
{'HTML': 44, 'Python': 71, 'React': 89}

Dobre praktyki

#
  • Sortując po wartościach, podaj key=lambda pair: pair[1]. Wynik to lista par, którą możesz zamienić z powrotem na słownik przez dict().
  • W pętli po items() możesz zmieniać wartości istniejących kluczy, ale nie dodawaj ani nie usuwaj kluczy.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.