Python Dictionaries: A Fun Guide for Everyone

Dive into the world of Python dictionaries and learn in the most entertaining way!

PythonistaSage
ViciPyWeb3
Published in
3 min readApr 24, 2023

--

A phonebook with the python programming symbol. Collage made by the author PythonistaSage.

Welcome, fellow Python enthusiasts! Today, we’re going to explore the fascinating world of Python dictionaries. We’ll make sure you understand this essential Python concept in the most enjoyable way possible

What Are Python Dictionaries?

A dictionary is like a phonebook, but it’s not just for names and numbers. You can store any key-value pair you like! It’s like having a superpower that allows you to create unlimited phonebooks for anything you can think of.

Creating a dictionary

There are more ways to create a dictionary than to cook an egg!

Let’s explore three common methods: you can use braces, dict comprehension, or the dict constructor.

1. With braces (the classic):

dict1 = {'Jack': 4098, 'Sjoerd': 4127}

2. Dict comprehension (the fancy one):

dict2 = {x: x ** 2 for x in range(10)}

3. Type constructor (the verbose one):

dict3 = dict([('foo', 100), ('bar', 200)])

Initializing an Empty Dictionary

Creating an empty dictionary is like preparing an empty cookie jar before filling it with delicious cookies:

empty_dict = dict()

Dictionary equality

Dictionaries are like snowflakes — no two are the same (unless they are). In Python, two dictionaries are considered equal if they have the same key-value pairs, regardless of the order:

a = dict(one=1, two=2, three=3)
b = {'one': 1, 'two': 2, 'three': 3}
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('two', 2), ('one', 1), ('three', 3)])
e = dict({'three': 3, 'one': 1, 'two': 2})
f = dict({'one': 1, 'three': 3}, two=2)
print(a == b == c == d == e == f) # True, because they are all the same

Dictionary operations

We’re about to perform some magic tricks with our dictionaries!

1. Get the keys (like getting a list of people at a party):

keys = list(dict1)

2. Check the length (how many guests are at the party?):

num_guests = len(dict1)

3. Access a value by its key (like asking for someone’s phone number):

phone_number = dict1['Jack']

4. Add a new key-value pair (like adding a new guest to the party):

dict1['John'] = 4128

5. Remove a key-value pair (like removing an unwanted guest of the party):

del dict1['Sjoerd']

6. Check if a key is in the dictionary (is Jack still at the party?)

jack_present = 'Jack' in dict1

7. Iterate over the dictionary (like greeting everyone at the party)

for key, value in dict1.items():
print(f"Hello, {key}! Your phone number is {value}.")

4. Access a key by its value (like asking for someone’s belongings):

dic1 = {'John': 4128, 'Alice': 4099, 'Bob': 4130}

value_to_find = 4128

# You can use a dictionary comprehension to get the key(s) associated with a specific value

# key_with_value = 'John'
keys_with_value = [key for key, value in my_dict.items() if value == value_to_find]

8. Update the dictionary (like adding a new group of guests to the party)

more_guests = {'Alice': 4099, 'Bob': 4130}
dict1.update(more_guests)

9. Clear the dictionary (like ending the party):

dict1.clear()

Final Thoughts

Well, that was fun, wasn’t it? Now you’re ready to master dictionaries and rule the Python world! Remember, keep practicing and experimenting. 🎉

--

--

PythonistaSage
ViciPyWeb3

Skilled Python developer, educator. Passion for empowering women. Shares her expertise to make Python accessible to all, building a inclusive tech community.