dict() function is a built-in constructor used to create dictionaries. A dictionary is a mutable, unordered collection of key-value pairs, where each key is unique. The dict() function provides a flexible way to initialize dictionaries from various data structures.
d=dict(One = "1", Two = "2")
print(d)
Output
{'One': '1', 'Two': '2'}
Explanation: Here, we create a dictionary using keyword arguments. The keys One and Two are assigned the values "1" and "2" respectively.
Syntax
dict()
dict(mapping)
dict(iterable)
dict(**kwargs)
dict(mapping, **kwargs)
Parameter:
- iterable (optional): An iterable such as a list of tuples where each tuple contains a key-value pair.
- mapping (optional): An existing dictionary or mapping object that will be used to create a new dictionary.
- kwargs (optional): Keyword arguments where keys are strings, used to pass key-value pairs directly.
Return: The function returns a dictionary containing the specified key-value pairs.
Note: mapping and iterable cannot be passed together as two positional arguments
Examples
Example 1: Creating shallow copy of the dictionary
d = {'a': 1, 'b': 2, 'c': 3}
# shallow copy using dict
d_copy = dict(d)
# reference copy
d_shallow = d
# changing value in reference copy will change d
d_shallow['a'] = 10
print(d)
# changing value in copied dictionary won't affect d
d_copy['b'] = 20
print(d)
Output
{'a': 10, 'b': 2, 'c': 3}
{'a': 10, 'b': 2, 'c': 3}
Explanation:
- A shallow copy using dict(d) creates a new dictionary d_copy with the same key-value pairs, while d_shallow = d makes both variables refer to the same object.
- Modifying d_shallow affects d, but changes in d_copy do not affect d (since only a new top-level copy is created).
Example 2: Creating dictionary using iterables
d = dict([('a', 1), ('b', 2), ('c', 3)], d=4)
print(d)
Output
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
Explanation: The list of tuples [('a', 1), ('b', 2), ('c', 3)] contains key-value pairs that are used to create the dictionary. This means a is assigned 1, b is assigned 2, and c is assigned 3. Additionally, we can directly add more key-value pairs using keyword arguments, like d=4.