Python – Iterate Over A Dictionary

How to iterate Python Dictionary using For loop? You can iterate a dictionary in python over keys, iterate over the key and the value, using lambda function e.t.c. In this article, I will explain what is Dictionary? its usage, and how to iterate through for loop with several examples.

Quick Examples Iterate Over a Dictionary

Following are quick examples of how to loop through a python dictionary using for loop.



# Example 1: Loop through by Dict Keys
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for x in technology:
    print(x)

# Example 2: Loop through by Key and Value
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for key, value in technology.items():
    print(key, value)

# Example 3: Use key to get the Value
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for key in technology:
    print(key,technology[key])

# Example 4: Use dict.keys() & dict.values()
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for key in technology.keys():
    print('Key: '+ key)
for value in technology.values():
    print('Value: '+value)

Using for loop through dictionary to get index
mydict = {"course": 1,"fee": 2,"duration": 3}    
for i in mydict:
    print(i,mydict[i])

# Using lambda function to iterate over a dictionary
my_squares = {2:4,3:9,4:16,5:25}  
my_cubes = list(map(lambda key: key**3, my_squares.keys()))  
print(my_cubes)

# Iterate dictionary using dictionary comprehension
mydict = {"course": "python","fee": 4000,"duration": "45 days"}
newdict = {key: value for (key, value) in mydict.items()}
print(newdict)

1. What is a Dictionary?

Python dictionary also known as dict is an important data structure that is used to store elements in key-value pairs. Each entry in the dictionary is in the form of key-value pairs. A dictionary is a collection of elements that is unordered, mutable, and does not allow duplicates in keys. Dictionary values should be enclosed with {} and key: value pair separated by commas. The dictionaries are indexed by keys.

Another important feature of dictionaries is that they are mutable data types, so, that you can be added, deleted, and updated their key-value pairs from the dictionary.

Dictionary Key – As I mentioned earlier, Dictionary doesn’t allow duplicated keys and keys must be of immutable type(such as string, number, tuple). in case, you add duplicates, it overrides the existing keys of the dictionary.

Dictionary Value – The values can be of any type of object and can be allowed duplicates. To get a value from a Python Dictionary you have to iterate over keys.

1.1 Create a Dictionary


# Create dictionary
mydict = {
  "course": "python",
  "fee": 4000,
  "duration": "60 days"
}
print(mydict)

# Outputs
{'course': 'python', 'fee': 4000, 'duration': '60 days'}
 

As you see keys of the mydict are course, fee, duration. The values of the mydict are python, 4000, 60 days.

2. Iterate Over Dictionary Keys

Use for loop in order to iterate a python dictionary over keys, by default when you use for loop with dict, it returns a key from the dict for each iteration.


# Loop through by Dict Keys
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for x in technology:
    print(x)
 

Yields below output. Notice that it just displayed the keys from the dict.


Course
Fee
Duration

3. Loop through by Key and Value using dict.items()

Use dict. items() to return a view object that gives a list of dictionary’s (key, value) tuple pairs. so, that You can iterate through tuple to get the dictionary key and value.


# Loop through by Key and Value
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for key, value in technology.items():
    print(key, value)

Yields below output


Course python
Fee 4000
Duration 60 days

4. Use Key to get the Value

Use dict[key] to get the value of the key.


# Use key to get the Value
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for key in technology:
    print(key,technology[key])

Yields below output.


Course python
Fee 4000
Duration 60 days

5. Use dict.keys() & dict.values()

You can also get dict.keys() to iterate over each key, similarly, you can get the dict.values() to iterate each value in python dictionary.


# Use dict.keys() & dict.values()
technology={"Course":"python","Fee":4000,"Duration":"60 days"}
for key in technology.keys():
    print('Key: '+ key)
for value in technology.values():
    print('Value: '+value)

Yields below output.


Key: Course
Key: Fee
Key: Duration
Value: python
Value: 4000
Value: 60 days

6. Iterate Through Dictionary With Index

we can also iterate through the dictionary using the index of the items, which is similar to iterating over the dictionary without using the methods such as keys()values(), or items().


Using for loop through dictionary to get index
mydict = {"course": 1,"fee": 2,"duration": 3}    
for i in mydict:
    print(i,mydict[i])

Yields below output.


course 1
fee 2
duration 3

7. Iterate Through Dictionary Using Lambda Function

Python lambda function is an anonymous function that can be used to loop through a dictionary.

7.1 Syntax


# Lambda Syntax
lambda arguments: expression

Using the lambda function along with a Python map() function we can iterate over a dictionary easily.


# Using lambda function to iterate over a dictionary
my_squares = {2:4,3:9,4:16,5:25}  
my_cubes = list(map(lambda key: key**3, my_squares.keys()))  
print(my_cubes)

#Outputs
[8, 27, 64, 125]
</pr

From the above code, we have a lambda function lambda key: key**3 and my_squares.keys() are parameters to the map() function. This will apply the function (key**3) to each key in the dictionary.

8. Iterate over a Python Dictionary using dictionary comprehension

Python dictionary comprehension is an elegant and concise way to create dictionaries using iterables. however, it is the same as a list comprehension but the only difference is syntax due to the structure of dictionaries.

8.1 Syntax Of Dictionary Comprehension


# Syntax of the dictionary comprehension
{key: value for variable in iterable(if conditional)}

8.2 Iterate Dictionary Using Dictionary Comprehension


# Iterate dictionary using dictionary comprehension
mydict = {"course": "python","fee": 4000,"duration": "45 days"}
newdict = {key: value for (key, value) in mydict.items()}
print(newdict)

# Outputs:
{'course': 'python', 'fee': 4000, 'duration': '45 days'}

In dictionary comprehension, we have iterated through the dictionary using the items() method, which can be accessed both key and value of the Python dictionary.

9. Conclusion

In this article, I have explained the python dictionary, how to create it and how to iterate over using for loop. You can iterate through a python dictionary by keys and by key and value. Also, I have used the lambda function along with map() and used dictionary comprehension to iterate through the dictionary and apply a function to each item in the dictionary.

Happy Learning !!!

References

Leave a Reply

You are currently viewing Python – Iterate Over A Dictionary