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 pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.