Initialize dictionary Python with 0

In this Python tutorial, we will explain How to initialize dictionary Python with 0, and what are the different methods used to initialize a Python dictionary with 0 using illustrative examples.

One of the most versatile and widely-used data structures in Python is the dictionary (or dict). A dictionary is a built-in data type that can store a mutable, unordered collection of items. Each item is stored as a pair of a key and its corresponding value. Keys must be unique and immutable.

Here’s a basic overview of dictionaries in Python:

my_dict = {'name': 'John', 'age': 30, 'is_employee': True}

Here, my_dict is the variable name that stores a Python dictionary as a value. While ('name', ‘age’, and ‘is_employee’) are the keys to that dictionary, and ('John', '30', and 'True') are the corresponding values of the key in the dictionary.

What is meant by initialize dictionary python with 0

To “initialize a dictionary in Python with 0” means to create a dictionary where all the values are set to 0. The keys can be any desired set of keys, but the values associated with these keys will all be 0 initially.

Here’s a simple example:

To initialize Python dictionary with the items as keys and 0 as their values.

items = ['apple', 'banana', 'cherry']
count = {item: 0 for item in items}

The output is:

{'apple': 0, 'banana': 0, 'cherry': 0}
python dictionary initialize to 0

This can be particularly useful in scenarios where we want to keep track of something, and we start with a default value of 0 for each key.

Methods to initialize a Python dict with 0

There are five different ways to initialize a dict in Python:

  • Basic Dictionary Initialization
  • Using a For Loop
  • Using Dictionary Comprehension
  • The dict.fromkeys() Method
  • Using the defaultdict from collections

Let’s see them one by one using some demonstrative examples:

Method-1: Initialize a Pythion dictionary with zero using basic dict initialization.

The most basic way to Python initialize dictionary with 0 is by using curly braces {} and putting all the values manually:

For instance, Imagine we are the owner of a small coffee shop in Seattle, Washington — the birthplace of Starbucks. Every morning, before the shop opens, we want to prepare a list of drinks we’re offering and set the sales of each drink to zero by creating a Python dict:

drink_sales = {'latte': 0, 'cappuccino': 0, 'espresso': 0, 'americano': 0}

The output is:

{'latte': 0, 'cappuccino': 0, 'espresso': 0, 'americano': 0}
how to initialize dictionary in python with 0 manually

As the day progresses, each time a drink is sold, the corresponding drink’s value can be incremented.

Note: But what if we have numerous products or candidates? This method would become tedious as we are manually doing it. Let’s explore more efficient ways.

Method-2: Initialize dictionary Python for loop

A for loop can be used to initialize dictionary Python to 0.

For example, We run a studio tour in Hollywood, California. Throughout the day, there are multiple tours covering different sets (like Action, Drama, Romance, Horror). At the beginning of each day, we would want to reset the attendance count for each tour to zero by creating a dictionary in Python:

tours = ['Action', 'Drama', 'Romance', 'Horror']
attendance = {}

for tour in tours:
    attendance[tour] = 0

The output:

{'Action': 0, 'Drama': 0, 'Romance': 0, 'Horror': 0}
initialize dictionary python for loop

As tourists join each tour, the counters are updated accordingly. This method provides dynamic Python dict initialization based on a list in Python.

Method-3: Python initialize dictionary with 0 using the dictionary comprehension

Python’s dictionary comprehension is a concise way to Python dictionary initialize:

For instance, Let’s shift to Boston, Massachusetts, where the Public Library is about to host an exhibition on American authors. They have a list of books and want to track how many times each book gets borrowed during the exhibition in the Python dictionary:

books = ['The Great Gatsby', 'Moby-Dick', 'To Kill a Mockingbird', 'The Catcher in the Rye']
book_borrows = {book: 0 for book in books}

The output is:

{'The Great Gatsby': 0, 'Moby-Dick': 0, 'To Kill a Mockingbird': 0, 'The Catcher in the Rye': 0}
python dict initialize 0 using dict comprehension

This way we can initialize a dict in Python with zero using dictionary comprehension.

Method-4: Python initialize dictionary using dict.fromkeys() Method

The fromkeys() method is a built-in method to python initialize dict with zero. It creates a new dictionary with keys from a given sequence and values set to a specified value.

For instance, The city of Chicago, Illinois, is having a mayoral election. At the start of the election day, create a Python dict for where each candidate’s vote count needs to be initialized to zero. The list of candidates is known:

candidates = ['Smith', 'Jones', 'Brown', 'Johnson']
votes = dict.fromkeys(candidates, 0)

The output is:

{'Smith': 0, 'Jones': 0, 'Brown': 0, 'Johnson': 0}
python initialize dict with 0 using fromkeys

This way we can initialize the dictionary in Python with 0 using dict.fromkeys.

Method-5: Initialize dictionary Python with 0 using the defaultdict from collections.

The defaultdict is a subclass of the built-in dict class. It overrides one method to provide a default value for a nonexistent key, which makes it another way for Python dict initialize 0:

For example, Imagine the University of Florida’s athletic department wants to maintain a record of sports equipment used by various teams. Given the diverse range of sports, from baseball to swimming, they need a system flexible enough to accommodate any sport and its corresponding equipment, even if it’s a sport they haven’t previously tracked.

This unpredictability makes defaultdict an ideal choice.

Here, firstly, we will create a defaultdict and then we will check if the dict created in Python has been initialized with zero or not.

from collections import defaultdict
equipment_inventory = defaultdict(int)

equipment_inventory['lacrosse sticks'] += 1
equipment_inventory['footballs'] += 10
equipment_inventory['quidditch brooms'] += 5


The output is: Even though (‘lacrosse sticks’, ‘footballs’, and ‘quidditch brooms’) weren’t initially in the dictionary, defaultdict ensures it starts at 0 and then increments it with their respective values.

defaultdict(<class 'int'>, {'lacrosse sticks': 1, 'footballs': 10, 'quidditch brooms': 5})
python initialize dictionary with 0 using defaultdict

By using a defaultdict for their inventory system, the University of Florida’s athletic department ensures that they can dynamically handle the equipment needs of any sport.

Points to remember initialize dictionary Python with 0:

  • Use basic initialization when dealing with a small, fixed set of keys.
  • python dictionary initialize to 0 using for loops when you want a more procedural approach.
  • For a more concise and Pythonic way, use dictionary comprehensions.
  • The dict.fromkeys() method is efficient for initializing using a sequence.
  • defaultdict can provide a dynamic approach to Python dict initialize with a default value.


In this tutorial, we have seen How to initialize dictionary Python with 0 using five different methods like basic dictionary initialization (manually), for loop, dictionary comprehension, dict.fromkeys, and defaultdict with some illustrative examples. we have also seen what is meant by initializing a dict in Python with zero.

Understanding how to initialize dictionary in Python with 0 can make our data tasks more efficient, especially when dealing with accumulations or counts.

You may also like to read: