Introduction to Python Programming

10.4Conditionals and looping in dictionaries

Introduction to Python Programming10.4 Conditionals and looping in dictionaries

Learning objectives

By the end of this section you should be able to

• Write a conditional statement to check for a key/value.
• Write a for loop to iterate over elements of a dictionary.

Conditionals for dictionary

Conditional statements can be used with dictionaries to check if certain keys, values, or dictionary items exist in the dictionary or if a value satisfies a particular condition.

Example 10.2

Templates and examples of a conditional statement on a dictionary

dict.items()
# (key, value) in dictionary.items()

movies = {"The godfather": 1974, "Interstellar": 2014}

print(("Interstellar", 2014) in movies.items())


True

Table 10.1
Conditionals on values or keys
# dictionary[key] operand test_value

movies = {"The godfather": 1974, "Interstellar": 2014}

print(movies["The godfather"] < 2000)


True

Table 10.2
dict.keys()
# key in dictionary.keys()

movies = {"The godfather": 1974, "Interstellar": 2014}

print("Interstellar" in movies.keys())


True

Table 10.3
dict.values()
# value in dictionary.values()

movies = {"The godfather": 1974, "Interstellar": 2014}

print(2014 in movies.values())


True

Table 10.4

Concepts in Practice

Conditionals on dictionaries

Given the dictionary fruit_count = {"apple": 2, "orange": 5, "pomegranate": 1}, answer the following questions.

1.
What is the output of "apple" in fruit_count.keys()?
1. True
2. False
2.
What is the output of ("orange", 5) in fruit_count.items()?
1. SyntaxError
2. True
3. False
3.
Which conditional statement checks if the value associated with the key "pomegranate" is greater than 0?
1. fruit_count("pomegranate") > 0
2. fruit_count["pomegranate"] > 0
3. fruit_count.get("pomegranate" > 0)

Looping on a dictionary

Looping over a Python dictionary is a way to iterate through key-value pairs in the dictionary. Looping in a dictionary can be done by iterating over keys or items. When looping using keys, keys are obtained using the keys() function and are passed to the loop variable one at a time. When looping over items using the items() function, both the key and value for each item are passed to the loop variable.

A for loop over a dictionary retrieves each key in the dictionary

    for key in dictionary: # Loop expression
# Statements to execute in the loop

# Statements to execute after the loop


Example 10.3

Iterating over a dictionary

dict.items()
zip_codes = {"Berkeley": 94709, "Santa Cruz": 95064, "Mountain View": 94030}

for key, value in zip_codes.items():
print(key, value)


Berkeley 94709
Santa Cruz 95064
Mountain View 94030
Table 10.5
dict.keys()
zip_codes = {"Berkeley": 94709, "Santa Cruz": 95064, "Mountain View": 94030}

for key in zip_codes.keys():
print(key)

Berkeley
Santa Cruz
Mountain View

Table 10.6
dict.values()
zip_codes = {"Berkeley": 94709, "Santa Cruz": 95064, "Mountain View": 94030}

for value in zip_codes.values():
print(value)

94709
95064
94030

Table 10.7

Concepts in Practice

Loops on dictionaries

4.
Which method is used to loop over the values in a Python dictionary?
1. keys()
2. values()
3. items()
5.
What is the output of the following code?
fruit_count = {"apple": 2, "orange": 5, "banana": 1}
for key in fruit_count.keys():
print(key, end = " ")
1. apple orange banana
2. 2 5 1
3. ("apple", 2) ("orange", 5) ("banana", 1)
6.
What is the output of the following code?
fruit_count = {"apple": 2, "orange": 5, "banana": 1}
for value in fruit_count.values():
print(value * 2, end = " ")
1. apple orange banana
2. 2 5 1
3. 4 10 2

Try It

Character count in a string

Given a string value, calculate and print the number of occurrences of all characters using a dictionary.

    Input:
string_value = "This is a string"

    Prints {"T": 1, "h": 1, "i": 3, "s": 3, " ": 3, "a": 1, "t": 1, "r": 1, "n": 1,
"g": 1}


Try It

Calculate the total number of fruits

Given a fruit_count dictionary that contains information about fruits and the count of each fruit, calculate the total number of fruits across all fruit types.

    Input:
fruit_count = {"banana": 2, "orange": 5, "peach": 5}

    Prints 12


This book may not be used in the training of large language models or otherwise be ingested into large language models or generative AI offerings without OpenStax's permission.

Want to cite, share, or modify this book? This book uses the Creative Commons Attribution License and you must attribute OpenStax.