I'm trying to construct a dictionary in python. Code looks like this:
dicti = {}
keys = [1, 2, 3, 4, 5, 6, 7, 8, 9]
dicti = dicti.fromkeys(keys)
values = [2, 3, 4, 5, 6, 7, 8, 9]
How can I populate values of dictionary using a list? Is there some built in function?
The result should be like this:
dicti = {1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9}
To convert dictionary values to list sorted by key we can use dict. items() and sorted(iterable) method. Dict. items() method always returns an object or items that display a list of dictionaries in the form of key/value pairs.
Using zip() with dict() function The simplest and most elegant way to build a dictionary from a list of keys and values is to use the zip() function with a dictionary constructor.
To convert a list to dictionary, we can use list comprehension and make a key:value pair of consecutive elements. Finally, typecase the list to dict type.
If you have two lists keys
and the corresponding values
:
keys = [1, 2, 3, 4, 5, 6, 7, 8, 9]
values = [2, 3, 4, 5, 6, 7, 8, 9]
dicti = dict(zip(keys, values))
dicti
is now {1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9}
Another one liner for your specific case would be:
dicti = {k:v for k, v in enumerate(values, start=1)}
The result is:
print(dicti)
{1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With