Iterate over a dictionary in Python

David Y.

The Problem

How can I iterate over a dictionary using a Python for loop?

The Solution

The simplest way to iterate over a Python dictionary is to iterate over its keys. The following code will print each key in a dictionary with its corresponding value:

word_counts = {"the": 3, "a": 5, "be": 2, "do": 1} for key in word_counts: print(f"{key}: {word_counts[key]}")

While this works, we may prefer to iterate over keys and values at the same time. Python’s built-in dict class includes a method called items(), which returns a dictionary view object that can be used for exactly this purpose. Below, we’ve rewritten our code to use this method:

word_counts = {"the": 3, "a": 5, "be": 2, "do": 1} for key, value in word_counts.items(): print(f"{key}: {value}")

You can also use the enumerate() function to get the index and key-value in the iteration. This is useful if you need the position of the element in the dictionary along with the key-value pair:

word_counts = {"the": 3, "a": 5, "be": 2, "do": 1} for index, (key, value) in enumerate(word_counts.items()): print(f"{index} {key}:{value}")
Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedin
© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.