Jak iterować po słowniku w Pythonie (klucze, wartości i elementy)
Dowiedz się, jak zapętlać lub iterować po słowniku Pythona. Odkryj metody pętli po kluczach, wartościach i parach klucz-wartość za pomocą przejrzystych, możliwych do uruchomienia przykładów.
Przegląd
Iterowanie po słownikach to podstawowe zadanie w programowaniu w języku Python, ponieważ słowniki są powszechnie używane do przechowywania danych typu klucz-wartość, takich jak rekordy bazy danych, ładunki API i ustawienia konfiguracyjne. Python udostępnia kilka intuicyjnych, wbudowanych metod przeglądania słowników, w zależności od tego, czy potrzebne są klucze, wartości, czy jedno i drugie. Zrozumienie tych metod ma kluczowe znaczenie dla pisania czystego, wydajnego i czytelnego kodu.
Najpopularniejszym sposobem jednoczesnej iteracji zarówno po kluczach, jak i wartościach jest użycie metody `.items()`. Ta metoda zwraca obiekt widoku zawierający krotki par klucz-wartość, które można łatwo rozpakować bezpośrednio w instrukcji pętli „for”. Jest to ogólnie preferowane rozwiązanie zamiast iteracji po kluczach i ręcznego wyszukiwania wartości, ponieważ jest to zarówno bardziej czytelne, jak i wydajniejsze.
Jeśli potrzebujesz tylko kluczy, możesz przejść bezpośrednio do samego słownika lub jawnie użyć metody `.keys()`. Aby iterować tylko po wartościach, Python udostępnia metodę `.values()`. Oba te obiekty widoku są dynamiczne, odzwierciedlają wszelkie zmiany wprowadzone w słowniku i obsługują testowanie członkostwa przy użyciu operatora „in”.
Dane wyjściowe kodu i wykonania
Ten kod demonstruje iterację po kluczach, wartościach i parach klucz-wartość słownika.
user = {"username": "alice", "role": "admin", "active": "True"}
# 1. Iterate over keys and values using items()
print("--- Keys and Values ---")
for key, value in user.items():
print(f"{key}: {value}")
# 2. Iterate over keys only (default behavior)
print("\n--- Keys Only ---")
for key in user:
print("Key:", key)
# 3. Iterate over values only
print("\n--- Values Only ---")
for val in user.values():
print("Value:", val)--- Keys and Values ---
username: alice
role: admin
active: True
--- Keys Only ---
Key: username
Key: role
Key: active
--- Values Only ---
Value: alice
Value: admin
Value: TrueWdrażanie krok po kroku
- Użyj user.items() w pętli for, aby jednocześnie wyodrębnić i rozpakować klucze i wartości.
- Wykonaj pętlę bezpośrednio nad słownikiem (lub wywołaj funkcję .keys()), aby iterować tylko po klawiszach.
- Użyj .values() do izolowania i iterowania wartości słownika.
Często zadawane pytania
Czy kolejność wstawiania jest zachowywana podczas iteracji po słowniku?
Tak, począwszy odPython 3.7+, słowniki gwarantują zachowanie kolejności wstawiania kluczy.
Czy możesz modyfikować słownik podczas iteracji po nim?
Nie, modyfikowanie kluczy (dodawanie lub usuwanie) podczas iteracji spowoduje zgłoszenie błędu RuntimeError. Zamiast tego zmodyfikuj kopię kluczy lub wartości.
Powiązane tematy
Dowiedz się, jak utworzyć słownik w Pythonie. Zrozumienie składni dosłownej, konstruktora dyktowania, rozumienia dyktowania i inicjatorów wartości kluczy.
Jak dodawać i aktualizować klucze w słowniku PythonaDowiedz się, jak dodawać elementy lub aktualizować pary klucz-wartość w słowniku języka Python. Poznaj nawiasy kwadratowe, metodę aktualizacji i opcje operatora scalania.
Polecane zasoby Pythona
Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.
Pętle Pythona
Dowiedz się, jak używać pętli Pythona do iteracji danych. Opanuj pętle for, pętle while, przerywaj, kontynuuj i pętluj najlepsze praktyki dzięki interaktywnym przykładom.
Ściągawka dotycząca metod słownika Pythona
Poznaj metody słownikowe Pythona. Kompletny przewodnik dotyczący wstawiania, pobierania, aktualizacji i sprawdzania par klucz-wartość.
Python kontra JavaScript: który język programowania jest najlepszy?
Kompleksowe porównanie Pythona i JavaScript. Poznaj różnice w składni, wydajność, przypadki użycia (backend vs frontend) i przykłady kodowania.