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())
|
|
Conditionals on values or keys |
---|
# dictionary[key] operand test_value
movies = {"The godfather": 1974, "Interstellar": 2014}
print(movies["The godfather"] < 2000)
|
|
dict.keys() |
---|
# key in dictionary.keys()
movies = {"The godfather": 1974, "Interstellar": 2014}
print("Interstellar" in movies.keys())
|
|
dict.values() |
---|
# value in dictionary.values()
movies = {"The godfather": 1974, "Interstellar": 2014}
print(2014 in movies.values())
|
|
Concepts in Practice
Conditionals on dictionaries
Given the dictionary fruit_count = {"apple": 2, "orange": 5, "pomegranate": 1}
, answer the following questions.
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
|
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 |
dict.values() |
---|
zip_codes = {"Berkeley": 94709, "Santa Cruz": 95064, "Mountain View": 94030}
for value in zip_codes.values():
print(value)
|
94709
95064
94030
|
Concepts in Practice
Loops on dictionaries
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