Last Updated : 23 Jan, 2025
The task of adding items to a dictionary in a loop in Python involves iterating over a collection of keys and values and adding them to an existing dictionary. This process is useful when we need to dynamically build or update a dictionary, especially when dealing with large datasets or generating key-value pairs in real-time.
For example, consider the lists a = ['Name', 'Website', 'Topic', 'Founded'] and b = ['GeeksforGeeks', 'https://www.geeksforgeeks.org/', 'Programming', 2009]. If we want to add the key-value pairs from these lists to a dictionary using a loop, the dictionary will be {'Name': 'GeeksforGeeks', 'Website': 'https://www.geeksforgeeks.org/', 'Topic': 'Programming', 'Founded': 2009}.
Using update()update() is an efficient way to add key-value pairs to an existing dictionary inside a loop. It allows us to update the dictionary with new entries at each iteration, either by adding new keys or modifying existing ones.
Python
a = ['Name', 'Website', 'Topic', 'Founded']
b = ['GeeksforGeeks', 'https://www.geeksforgeeks.org/', 'Programming', 2009]
res = {} # initializes an empty dictionary
for i, j in zip(a, b):
res.update({i: j})
print(res)
{'Name': 'GeeksforGeeks', 'Website': 'https://www.geeksforgeeks.org/', 'Topic': 'Programming', 'Founded': 2009}
Explanation:
This method involves directly assigning values to the dictionary keys by iterating through both the keys and values. We can use a loop to access each key and then use the index to retrieve the corresponding value from a separate list.
Python
a = ['Name', 'Website', 'Topic', 'Founded']
b = ['GeeksforGeeks', 'https://www.geeksforgeeks.org/', 'Programming', 2009]
res = {} # initializes an empty dictionary
for i in range(len(a)):
res[a[i]] = b[i]
print(res)
{'Name': 'GeeksforGeeks', 'Website': 'https://www.geeksforgeeks.org/', 'Topic': 'Programming', 'Founded': 2009}
Explanation:
enumerate() provides both the index and the key during iteration, which allows access to corresponding values from another list. This method is useful when we need the index explicitly.
Python
a = ['Name', 'Website', 'Topic', 'Founded']
b = ['GeeksforGeeks', 'https://www.geeksforgeeks.org/', 'Programming', 2009]
res = {} # initializes an empty dictionary
for i, j in enumerate(a):
res[j] = b[i]
print(res)
{'Name': 'GeeksforGeeks', 'Website': 'https://www.geeksforgeeks.org/', 'Topic': 'Programming', 'Founded': 2009}
Explanation:
This method initializes a dictionary with predefined keys and default value which can then be updated with a loop. Although this method is less efficient for cases where both keys and values are available upfront, it still serves as a valid approach for dictionary initialization.
Python
a = ['Name', 'Website', 'Topic', 'Founded']
b = ['GeeksforGeeks', 'https://www.geeksforgeeks.org/', 'Programming', 2009]
res = dict.fromkeys(a) # Creates a dictionary with keys and default None values
for i, j in enumerate(a):
res[j] = b[i]
print(res)
{'Name': 'GeeksforGeeks', 'Website': 'https://www.geeksforgeeks.org/', 'Topic': 'Programming', 'Founded': 2009}
Explanation:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4