以优雅的方式快速建立大型字典

vin*_*len 0 python

我有一个大小约30000的列表:['aa', 'bb', 'cc', 'dd', ...]从这个列表中,我想构建一个将元素映射到索引的dict,所以结果dict是{'aa': 0, 'bb': 1, 'cc': 2, 'dd': 3, ...}.这是我的代码:

cnt = 0
mp = {}
for name in name_list:
    mp[name] = cnt
    cnt += 1
return mp
Run Code Online (Sandbox Code Playgroud)

看来我的代码并不简洁有效,那么如何改进呢?

Rem*_*ich 5

最短的是使用enumerate和字典理解,我想:

mp = {element: index for index, element in enumerate(name_list)}
Run Code Online (Sandbox Code Playgroud)