Dict. In Python a dictionary can be created with an expression in curly brackets. But the dict built-in method can also be used. This provides more initialization options.
With dict, we create an empty dictionary. We create a dictionary from another dictionary (copying it). We create one from a list.
Empty dictionary example. Here we create an empty dictionary with dict(). No keys or values are inside the dictionary. Its len is 0.
Then We add a key "cat" to the dictionary with a value of 1. Then we use get() to print this value.
# Use dict to create empty dictionary.
values = dict()
# Add value and get value.
values["cat"] = 1
print(values.get("cat"))1
Copy dictionary. Here we copy a dictionary with dict. We create a dictionary called values and then copy it into a dictionary called "copy."
Tip When we modify the copied dictionary, the original dictionary is left unchanged. The two are separate in memory.
values = {"cat": 1, "bird": 2}
# Copy the dictionary with the dict copy constructor.
copy = dict(values)
# Change copy.
copy["cat"] = 400
# The two dictionaries are separate.
print(values)
print(copy){'bird': 2, 'cat': 1}
{'bird': 2, 'cat': 400}
List, dict. A list of tuples (each a key-value pair) can be used to construct a dictionary. Dict turns these pairs into keys and values. This is a way to transform a list into a dictionary.
# Create a dictionary with dict based on a list of pairs.# ... List contains tuples with keys and values.
values = [("cat", 1), ("bird", 200)]
lookup = dict(values)
print(values)
print(lookup.get("cat"))
print(lookup.get("bird"))[('cat', 1), ('bird', 200)]
1
200
Named arguments. Python supports named arguments. In this syntax, arguments are passed with an equals sign statement. A dictionary can be constructed with this syntax.
# Create a dictionary with named arguments.
animals = dict(bird=1, dog=2, fish=9)
print(animals.get("bird"))
print(animals.get("dog"))
print(animals.get("fish"))1
2
9
Dict TypeError. The dict keyword must not be incorrectly used. If we provide incorrect arguments, a TypeError will interrupt our program's execution.
# The dict built-in must be called with a valid argument.
result = dict(1)Traceback (most recent call last):
File "C:\programs\file.py", line 5, in <module>
result = dict(1)
TypeError: 'int' object is not iterable
Dictionary copy. We can invoke the copy() method on a dictionary to perform a copy. This has the same result as using the dict built-in method.
With this function, we create a powerful dictionary collection from varied arguments. Often with dictionaries we do not need a dict() call. But when we do, dict simplifies our code.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.