假设我有一个列表l1 = [a,b,c,d,e],我想将它映射到包含以下{a:1,b:2,c:3,d的字典:4,e:5}
我知道如何以一种非常幼稚的方式做到这一点,但我想更多'pythonic'
天真的方式:
dic = {}
j = 1
for i in list1:
dic[i] = j
j += 1
答案 0 :(得分:4)
如何使用词典理解:
>>> {v: k for k, v in enumerate(l1, 1)}
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
答案 1 :(得分:0)
只是为了弥补之前的问题...您可以将dict
类型的构造函数与itertools.count
和zip
一起使用:
>>> L1 = ['a','b','c','d']
>>> from itertools import count
>>> dict(zip(L1, count(1)))
{'c': 3, 'b': 2, 'a': 1, 'd': 4}