Dictionaries in Python
Python dictionary is a data structure that stores the value in key: value pairs. Values in a dictionary can be of any data type and can be duplicated, whereas keys can't be repeated and must be immutable.
Example: Here, The data is stored in key:value pairs in dictionaries, which makes it easier to find values.
d = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print(d)
Output
{1: 'Geeks', 2: 'For', 3: 'Geeks'}
How to Create a Dictionary
Dictionary can be created by placing a sequence of elements within curly {} braces, separated by a 'comma'.
d1 = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
print(d1)
# create dictionary using dict() constructor
d2 = dict(a = "Geeks", b = "for", c = "Geeks")
print(d2)
Output
{1: 'Geeks', 2: 'For', 3: 'Geeks'} {'a': 'Geeks', 'b': 'for', 'c': 'Geeks'}
- Dictionary keys are case sensitive: the same name but different cases of Key will be treated distinctly.
- Keys must be immutable: This means keys can be strings, numbers or tuples but not lists.
- Keys must be unique: Duplicate keys are not allowed and any duplicate key will overwrite the previous value.
- Dictionary internally uses Hashing. Hence, operations like search, insert, delete can be performed in Constant Time.
From Python 3.7 Version onward, Python dictionary are Ordered.
Accessing Dictionary Items
We can access a value from a dictionary by using the key within square brackets or get() method.
d = { "name": "Prajjwal", 1: "Python", (1, 2): [1,2,4] }
# Access using key
print(d["name"])
# Access using get()
print(d.get("name"))
Output
Prajjwal Prajjwal
Adding and Updating Dictionary Items
We can add new key-value pairs or update existing keys by using assignment.
d = {1: 'Geeks', 2: 'For', 3: 'Geeks'}
# Adding a new key-value pair
d["age"] = 22
# Updating an existing value
d[1] = "Python dict"
print(d)
Output
{1: 'Python dict', 2: 'For', 3: 'Geeks', 'age': 22}
Removing Dictionary Items
We can remove items from dictionary using the following methods:
- del: Removes an item by key.
- pop(): Removes an item by key and returns its value.
- clear(): Empties the dictionary.
- popitem(): Removes and returns the last key-value pair.
d = {1: 'Geeks', 2: 'For', 3: 'Geeks', 'age':22}
# Using del to remove an item
del d["age"]
print(d)
# Using pop() to remove an item and return the value
val = d.pop(1)
print(val)
# Using popitem to removes and returns
# the last key-value pair.
key, val = d.popitem()
print(f"Key: {key}, Value: {val}")
# Clear all items from the dictionary
d.clear()
print(d)
Output
{1: 'Geeks', 2: 'For', 3: 'Geeks'} Geeks Key: 3, Value: Geeks {}
Iterating Through a Dictionary
We can iterate over keys [using keys() method] , values [using values() method] or both [using item() method] with a for loop.
d = {1: 'Geeks', 2: 'For', 'age':22}
# Iterate over keys
for key in d:
print(key)
# Iterate over values
for value in d.values():
print(value)
# Iterate over key-value pairs
for key, value in d.items():
print(f"{key}: {value}")
Output
1 2 age Geeks For 22 1: Geeks 2: For age: 22
Read in detail: Ways to Iterating Over a Dictionary
Nested Dictionaries
Example of Nested Dictionary:
d = {1: 'Geeks', 2: 'For',
3: {'A': 'Welcome', 'B': 'To', 'C': 'Geeks'}}
print(d)
Output
{1: 'Geeks', 2: 'For', 3: {'A': 'Welcome', 'B': 'To', 'C': 'Geeks'}}
Read in Detail: Python Nested Dictionary
Python Dictionary Operation Programs
- Dictionary Creation Programs.
- Dictionary Add/Append Programs.
- Dictionary Removal Programs.
- Dictionary Access Programs.
- Dictionary Conversion Programs.
- Dictionary Programs involving Lists.
- Dictionary Programs involving String, Tuple and Set.
Python Dictionary Problems
- Length of a Dictionary
- Check if a Key Exists
- Access a Value by Key
- Remove a Key from a Dictionary
- Remove keys with substring values
- Sum All Numeric Values in a Dictionary
- Find Keys with Maximum Value
- Remove Duplicates from a Dictionary
- Filter Dictionary by Key Prefix
- Count Frequency of Elements Using Dictionary
- Check if two arrays are equal or not
- Max distance between two occurrences in array
- 2 Sum - Count Pairs with target sum
- 3 Sum - Count all triplets with target sum
- Count all pairs with absolute difference equal to k
- Remove minimum elements such that no common elements exist in two arrays
- Check If Array Pair Sums Divisible by k
- Longest subarray with sum divisible by K
- Longest Subarray having Majority Elements Greater Than K
- Count distinct elements in every window of size k