Dictionaries#
A dictionary is a mutable container that stores key-value pairs. Keys must be immutable (strings, numbers, or tuples), while values can be of any type.
my_dict = {"key": "value"}
Keys are unique within a dictionary; values may repeat.
Dictionary Methods#
Method |
Description |
|---|---|
|
Returns the value for key, or |
|
Returns True if key exists in the dictionary |
|
Returns a view of (key, value) pairs |
|
Returns a view of all keys |
|
Returns a view of all values |
|
Removes all items |
|
Returns value if key exists; otherwise inserts key with value |
Note
dict.has_key(key) was removed in Python 3. Use key in dict instead.
Examples#
>>> d = {"Name": "Zara", "Age": 7, "Class": "First"}
>>> d["Name"]
'Zara'
>>> # Add a new entry
>>> d["School"] = "DPS School"
>>> d
{'Name': 'Zara', 'Age': 7, 'Class': 'First', 'School': 'DPS School'}
>>> # Update an existing entry
>>> d["Age"] = 8
>>> # List keys and values
>>> list(d.keys())
['Name', 'Age', 'Class', 'School']
>>> list(d.values())
['Zara', 8, 'First', 'DPS School']
>>> # Delete an entry
>>> del d["Name"]
Find a Key by Value#
>>> d = {'george': 16, 'amber': 19}
>>> # Using a loop
>>> for name, age in d.items():
... if age == 16:
... print(name)
george
>>> # Using list comprehension
>>> [k for k, v in d.items() if v == 16]
['george']
Append to a List Inside a Dictionary#
# Using setdefault (concise)
d.setdefault(key, []).append(value)
# Equivalent long form
if key in d:
d[key].append(value)
else:
d[key] = [value]
Iteration#
>>> mydict = {"Hour": 13, "Day": "Monday"}
>>> for key, value in mydict.items():
... print(key, value)
Hour 13
Day Monday
>>> knights = {"gallahad": "the pure", "robin": "the brave"}
>>> for k, v in knights.items():
... print(k, v)
gallahad the pure
robin the brave
Warning
Python 2 vs Python 3
Use dict.items() instead of dict.iteritems() — the latter was removed in Python 3.