🐍 Advance Dictionaries
There is very little one can do with dictionaries. Dictionaries are very useful, but because of their relatively complex state, very few modifications can be done in simple ways. Here are a couple of things you do with dictionaries.
Dictionary Comprehension
Just like List Comprehensions, Dictionary Data Types also support their own version of comprehension for quick creation. It is not as commonly used as List Comprehensions. Here is an example of Dictionary Comprehension.Input
d = {x:x**2 for x in range(10)}
d
Output
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
Another example where we pick keys from one place and values from another.
One of the reasons it is not as common is the difficulty in structuring key names that are not based off the values.
Input
d = {k:v**2 for k,v in zip(['a','b','c','d','e','f','g','h','i','j'],range(10))}
d
Output
{'a': 0, 'b': 1, 'c': 4, 'd': 9, 'e': 16, 'f': 25, 'g': 36, 'h': 49, 'i': 64, 'j': 81}
Iteration
Keys
Keys are the left half of the paired elements in a dictionary. It can be simply accessed in the following way:
Input
list_of_keys = d.keys()
list_of_keys
Output
dict_keys([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
Or they can be iterated through in the following way:
Input
for k in d.keys():
print(k)
Output
0
1
2
3
4
5
6
7
8
9
Values
Values are the right half of the paired elements in a dictionary. It can be simply accessed in the following way:
Input
list_of_values = d.values()
list_of_values
Output
dict_values([0, 1, 4, 9, 16, 25, 36, 49, 64, 81])
Or they can be iterated through in the following way:
Input
for k in d.values():
print(k)
Output
0
1
4
9
16
25
36
49
64
81
Items
An item is a pair of elements in a dictionary. It can be simply accessed in the following way:
Input
list_of_items = d.items()
list_of_items
Output
dict_items([(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64), (9, 81)])
Or they can be iterated through in the following way:
Input
for k in d.values():
print(k)
Output
(0, 0)
(1, 1)
(2, 4)
(3, 9)
(4, 16)
(5, 25)
(6, 36)
(7, 49)
(8, 64)
(9, 81)
Comments
Post a Comment