- Python: Print items of a dictionary line by line (4 Ways)
- Frequently Asked:
- Print a dictionary line by line using for loop & dict.items()
- Print a dictionary line by line by iterating over keys
- Print a dictionary line by line using List Comprehension
- Print a dictionary line by line using json.dumps()
- Printing nested dictionaries line by line in python
- Print nested dictionary line by line using json.dumps()
- Related posts:
- Share your love
- 5 thoughts on “Python: Print items of a dictionary line by line (4 Ways)”
- Leave a Comment Cancel Reply
- Terms of Use
- Disclaimer
- Print List elements on separate Lines in Python
- Introduction
- Frequently Asked:
- Method 1: Using a for loop
- Method 2: Using print() function
- Method 3: Using join() function
- Example 1
- Example 2
- Summary
- Related posts:
- Share your love
- Leave a Comment Cancel Reply
- Terms of Use
- Disclaimer
Python: Print items of a dictionary line by line (4 Ways)
In this article, we will discuss different ways to print line by line the contents of a dictionary or a nested dictionary in python.
As dictionary contains items as key-value pairs. So, first, let’s create a dictionary that contains student names and their scores i.e.
# A dictionary of student names and their score student_score =
Although it printed the contents of the dictionary, all the key-value pairs printed in a single line. If we have big dictionaries, then it can be hard for us to understand the contents. Therefore, we should print a dictionary line by line. Let’s see how to do that,
Frequently Asked:
Print a dictionary line by line using for loop & dict.items()
dict.items() returns an iterable view object of the dictionary that we can use to iterate over the contents of the dictionary, i.e. key-value pairs in the dictionary and print them line by line i.e.
# A dictionary of student names and their score student_score = < 'Ritika': 5, 'Sam': 7, 'John': 10, 'Aadi': 8># Iterate over key/value pairs in dict and print them for key, value in student_score.items(): print(key, ' : ', value)
Ritika : 5 Sam : 7 John : 10 Aadi : 8
This approach gives us complete control over each key-value pair in the dictionary. We printed each key-value pair in a separate line.
Print a dictionary line by line by iterating over keys
We can iterate over the keys of a dictionary one by one, then for each key access its value and print in a separate line i.e.
# A dictionary of student names and their score student_score = < 'Ritika': 5, 'Sam': 7, 'John': 10, 'Aadi': 8># Iterate over the keys in dictionary, access value & print line by line for key in student_score: print(key, ' : ', student_scorePython print string line by line)
Ritika : 5 Sam : 7 John : 10 Aadi : 8
Although by this approach we printed all the key value pairs line by line this is not an efficient method as compared to the previous one because to access one key-value pair, we are performing two operations.
Print a dictionary line by line using List Comprehension
In a single line using list comprehension & dict.items(), we can print the contents of a dictionary line by line i.e.
# A dictionary of student names and their score student_score = < 'Ritika': 5, 'Sam': 7, 'John': 10, 'Aadi': 8># Iterate over the key-value pairs of a dictionary # using list comprehension and print them [print(key,':',value) for key, value in student_score.items()]
Ritika : 5 Sam : 7 John : 10 Aadi : 8
Learn more about Python Dictionaries
Print a dictionary line by line using json.dumps()
In python, json module provides a function json.dumps() to serialize the passed object to a json like string. We can pass the dictionary in json.dumps() to get a string that contains each key-value pair of dictionary in a separate line. Then we can print that string,
import json # A dictionary of student names and their score student_score = < 'Ritika': 5, 'Sam': 7, 'John': 10, 'Aadi': 8># Print contents of dict in json like format print(json.dumps(student_score, indent=4))
We passed the dictionary object and count of indent spaces in json.dumps(). It returned a json like formatted string. Remember to import the json module for this approach.
Now, what if we have a nested python dictionary?
Printing nested dictionaries line by line in python
Suppose we have a nested dictionary that contains student names as key, and for values, it includes another dictionary of the subject and their scores in the corresponding subjects i.e.
# Nested dictionary containing student names and their scores in separate subjects student_score = < 'Mathew': < 'Math': 28, 'Science': 18, 'Econimics': 15>, 'Ritika': < 'Math': 19, 'Science': 20, 'Econimics': 19>, 'John': < 'Math': 11, 'Science': 22, 'Econimics': 17>>
If print this dictionary by passing it to the print() function,
Then the output will be like,
It printed all the contents in a single line. Therefore, it is tough to understand the contents. Now to print the contents of a nested dictionary line by line, we need to do double iteration i.e.
# Nested dictionary containing student names and their scores in separate subjects student_score = < 'Mathew': < 'Math': 28, 'Science': 18, 'Econimics': 15>, 'Ritika': < 'Math': 19, 'Science': 20, 'Econimics': 19>, 'John': < 'Math': 11, 'Science': 22, 'Econimics': 17>> # Iterate over key / value pairs of parent dictionary for key, value in student_score.items(): print(key, '--') # Again iterate over the nested dictionary for subject, score in value.items(): print(subject, ' : ', score)
Mathew -- Math : 28 Science : 18 Econimics : 15 Ritika -- Math : 19 Science : 20 Econimics : 19 John -- Math : 11 Science : 22 Econimics : 17
We first iterated over the items, i.e. key/value pairs of the dictionary, and for each pair printed the key. As value field is another dictionary, so we again iterated over the key-value pairs in this dictionary and printed its contents i.e. key/value pairs in separate lines.
Print nested dictionary line by line using json.dumps()
We can do this in a single line using json module’s dumps() function i.e.
import json # Nested dictionary containing student names and their scores in separate subjects student_score = < 'Mathew': < 'Math': 28, 'Science': 18, 'Econimics': 15>, 'Ritika': < 'Math': 19, 'Science': 20, 'Econimics': 19>, 'John': < 'Math': 11, 'Science': 22, 'Econimics': 17>> print(json.dumps(student_score, indent=4))
Related posts:
Share your love
5 thoughts on “Python: Print items of a dictionary line by line (4 Ways)”
Very useful information.Well explained.Easy to understand for beginners.How the code works is explained too. Thanks a lot.
Leave a Comment Cancel Reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Terms of Use
Disclaimer
Copyright © 2023 thisPointer
To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Print List elements on separate Lines in Python
In this article, we will discuss how to print list elements on separate lines in Python.
Table Of Contents
Introduction
Suppose we have a list of strings like this,
listOfStrs = ['Hello', 'this', 'is', 'a', 'correct', 'way', 'to', 'code']
Now we want to print each element of this list in a separate line. The output should be like this,
Hello this is a correct way to code
There are different ways to do this. let’s discuss them one by one,
Frequently Asked:
Method 1: Using a for loop
We can iterate over all the elements in the list using a for loop, and print them one by one using the print() function. It will print each element of the list in a separate line.
listOfStrs = ['Hello', 'this', 'is', 'a', 'correct', 'way', 'to', 'code'] # print list items on separate lines for elem in listOfStrs: print(elem)
Hello this is a correct way to code
It printed each item of the list in a separate line.
Method 2: Using print() function
We can apply the astrik operator on the list object to decouple all the list elements as a separate items, and pass them as arguments to the print() function. But along with these arguments we will also pass another argument sep . This argument contains the separator that will be used by the print() function, while printing each element on the console. As we want to print every element of the list in a separate line so we can pass in a new line character as a separator to the print() function.
listOfStrs = ['Hello', 'this', 'is', 'a', 'correct', 'way', 'to', 'code'] # print list items on separate lines print(*listOfStrs, sep='\n')
Hello this is a correct way to code
It printed each item of the list in a separate line
Method 3: Using join() function
This is an interesting technique. In this method we will convert our list to a string by joining all the string elements of the list. We will use the new line character as a separator. Basically we will create a big string which contains all the strings from the list, separated by new line characters, and we will print that string on the console.
From the output on the console, it will seem that we have printed each string from the list in a separate line or element from a string on the separate line. Let us see the example,
Example 1
listOfStrs = ['Hello', 'this', 'is', 'a', 'correct', 'way', 'to', 'code'] # create a string that contains list items on separate lines strValue = '\n'.join(listOfStrs) print(strValue)
Hello this is a correct way to code
It printed each string from the list in a separate line.
But what if our list has some integers? Then this join() method will not work, because join() method expects the list to have only strings. In case list has some other type of elements, then we need to convert them to string first and then use the join() method to create a single string, in which all elements are separated by new line character. Let’s see an example,
Example 2
listOfNum = [21, 22, 23, 24, 25, 26, 27] # create a string that contains list items on separate lines strValue = '\n'.join(map(str, listOfNum)) print(strValue)
Summary
We learned about different ways to print list elements on separate lines in Python. Thanks.
Related posts:
Share your love
Leave a Comment Cancel Reply
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Terms of Use
Disclaimer
Copyright © 2023 thisPointer
To provide the best experiences, we and our partners use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us and our partners to process personal data such as browsing behavior or unique IDs on this site and show (non-) personalized ads. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Click below to consent to the above or make granular choices. Your choices will be applied to this site only. You can change your settings at any time, including withdrawing your consent, by using the toggles on the Cookie Policy, or by clicking on the manage consent button at the bottom of the screen.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.