Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

How to print dictionary in Python

Introduction

As someone who's learning programming, you might have come across the term "dictionary" in Python. In this blog post, we'll explore what dictionaries are, how they work, and most importantly, how to print them in Python. We'll be using simple language and examples to make it easy for you to understand, even if you're new to programming.

What is a dictionary in Python?

In Python, a dictionary is a collection of key-value pairs. You can think of it as a real-life dictionary, where each word (the key) has a definition (the value). In Python, dictionaries are incredibly useful for storing and organizing data, making it easy to access and modify information using the keys.

Here's a simple example to give you an idea of what a dictionary looks like in Python:

# A simple dictionary with keys and values
person = {
    'name': 'John Doe',
    'age': 30,
    'city': 'New York'
}

In the above example, we have a dictionary named person, with three key-value pairs. The keys are 'name', 'age', and 'city', while the corresponding values are 'John Doe', 30, and 'New York'.

Printing a dictionary in Python

Now that we know what dictionaries are, let's explore different ways to print them in Python. We'll start with the most basic method and gradually move on to more advanced techniques.

Method 1: Using the print() function

The simplest way to print a dictionary in Python is by using the print() function. Let's use the person dictionary from the previous example:

print(person)

When we run this code, we get the following output:

{'name': 'John Doe', 'age': 30, 'city': 'New York'}

As you can see, the print() function displays the entire dictionary as a string, with the keys and values enclosed in curly braces {} and separated by commas.

Method 2: Using a for loop

If you want to print the dictionary in a more human-readable format, you can use a for loop to iterate over the dictionary and print each key-value pair on a separate line. Here's an example:

# Printing a dictionary using a for loop
for key, value in person.items():
    print(f"{key}: {value}")

In this example, we use the items() method of the dictionary, which returns a list of key-value pairs as tuples. Then, we use a for loop to iterate over this list, and the print() function to display each key-value pair. The output looks like this:

name: John Doe
age: 30
city: New York

This output is much easier to read compared to the previous method since each key-value pair is displayed on a separate line.

Method 3: Using the json.dumps() function

Another way to print a dictionary in Python is by using the dumps() function from the json module. This function converts a Python dictionary into a JSON string, which can be easily printed or written to a file. Here's an example:

# Importing the json module
import json

# Converting the dictionary to a JSON string
person_json = json.dumps(person, indent=2)

# Printing the JSON string
print(person_json)

In this example, we first import the json module, which provides the dumps() function. Then, we convert the person dictionary into a JSON string using json.dumps(), and store the result in the variable person_json. Finally, we use the print() function to display the JSON string. The output looks like this:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}

Notice how the indent parameter in the dumps() function controls the number of spaces used for indentation in the output JSON string. In this case, we set it to 2 spaces, which makes the output more readable.

Printing specific parts of a dictionary

In some cases, you might want to print only specific parts of a dictionary, such as a single value or a subset of the key-value pairs. Let's explore a few ways to achieve this.

Method 1: Printing a single value

To print a single value from a dictionary, you can use the key as an index. For example, if you want to print the 'name' value from the person dictionary, you can do the following:

print(person['name'])

The output will be:

John Doe

Method 2: Printing multiple values

If you want to print multiple values from a dictionary, you can use a for loop and a list of keys. Here's an example:

# Define a list of keys to print
keys_to_print = ['name', 'city']

# Use a for loop to print the selected key-value pairs
for key in keys_to_print:
    print(f"{key}: {person[key]}")

In this example, we first define a list called keys_to_print containing the keys we want to print ('name' and 'city'). Then, we use a for loop to iterate over this list, and the print() function to display the corresponding key-value pairs from the person dictionary. The output looks like this:

name: John Doe
city: New York

Conclusion

In this blog post, we explored different ways to print dictionaries in Python. We learned how to print the entire dictionary using the print() function, as well as how to print it in a more human-readable format using a for loop. We also learned how to print specific parts of a dictionary, such as single values or multiple key-value pairs.

As you continue learning programming, you'll find that dictionaries are a powerful and versatile data structure in Python. Understanding how to print and manipulate dictionaries will help you better organize and access your data, making your code more efficient and easier to maintain.