In this article, we will learn about different ways to print all items (key-value pairs) of a dictionary.
Table of Contents
- Print all pairs of dictionary using for loop and items()
- Print all pairs of dictionary by iterating over keys only
- Print all pairs of dictionary in reverse order
- Print all key-value pairs of a nested dictionary
Print all pairs of dictionary using for loop and items()
The items() function of dictionary class returns an iterable sequence of all key-value pairs of dictionary. We can use a for loop to iterate over this sequence of pairs and print each of them one by one. For example,
# Dictionary of string and int word_freq = { 'Hello' : 56, "at" : 23, 'test' : 43, 'This' : 78, 'Why' : 11 } # Print all key-value pairs of a dictionary for key, value in word_freq.items(): print(key, '::', value)
Output:
Hello :: 56 at :: 23 test :: 43 This :: 78 Why :: 11
It printed all the key-value items of dictionary.
Frequently Asked:
Print all pairs of dictionary by iterating over keys only
We can also iterate over all keys of the dictionary using a for loop and during iteration select value of each key using [] operator, then print the pair. For example,
# Dictionary of string and int word_freq = { 'Hello' : 56, "at" : 23, 'test' : 43, 'This' : 78, 'Why' : 11 } # Print all key-value pairs of a dictionary for key in word_freq: print(key, '::', word_freq[key])
Output:
Hello :: 56 at :: 23 test :: 43 This :: 78 Why :: 11
It print all the key-value items of dictionary. But it is less effective solution than the previous one.
Print all pairs of dictionary in reverse order
We can create a list of all key-value pairs of dictionary by passing the iterable sequence returned by items() function to the list() function. Then we can reverse the contents of pairs and print them. For example,
Latest Python - Video Tutorial
# Dictionary of string and int word_freq = { 'Hello' : 56, "at" : 23, 'test' : 43, 'This' : 78, 'Why' : 11 } # Get all key-value pairs of dictionary as list all_pairs = list(word_freq.items()) # Iterate over the reversed list of key-value pairs # and print them one by one for key, value in reversed(all_pairs): print(key, '::', value)
Output:
Why :: 11 This :: 78 test :: 43 at :: 23 Hello :: 56
It print all the key-value items of dictionary in reverse order. We created a list because the iterable sequence dict_items, returned by the items() function is non reversible.
Print all key-value pairs of a nested dictionary
Suppose we have a dictionary that contains other dictionaries as values. To print all key-value pairs of this dictionary we have created a function, that will recursively go inside the nested dictionary and print all key-value pairs. For example,
# A Nested dictionary i.e. dictionaty of dictionaries students = { 'ID 1': {'Name': 'Shaun', 'Age': 35, 'City': 'Delhi'}, 'ID 2': {'Name': 'Ritika', 'Age': 31, 'City': 'Mumbai'}, 'ID 3': {'Name': 'Smriti', 'Age': 33, 'City': 'Sydney'}, 'ID 4': {'Name': 'Jacob', 'Age': 23, 'City': {'perm': 'Tokyo', 'current': 'London'}}, } def print_all_pairs(dict_obj): ''' This function print all key-value pairs of a nested dictionary i.e. dict of dicts ''' # Iterate over all key-value pairs of a dict for key, value in dict_obj.items(): # If value is of dict type then print # all key-value pairs in the nested dictionary if isinstance(value, dict): print_all_pairs(value) else: print(key, '::', value) print_all_pairs(students)
Output:
Name :: Shaun Age :: 35 City :: Delhi Name :: Ritika Age :: 31 City :: Mumbai Name :: Smriti Age :: 33 City :: Sydney Name :: Jacob Age :: 23 perm :: Tokyo current :: London
Summary:
We learned about different ways to print all key-value pairs of a dictionary.
Latest Video Tutorials