Populating dictionary values from a list

Viewed 11466

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}
3 Answers

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}

this will work but the list have to be the same size (drop the 9 in the keys list)

keys = [1, 2, 3, 4, 5, 6, 7, 8]
values = [2, 3, 4, 5, 6, 7, 8, 9]
dicti = {}

for x in range(len(keys)):
     dicti[keys[x]] = values[x]
Related