从两个列表创建dict,使用1:2键:值关系

时间:2018-06-17 21:29:00

标签: python-3.x dictionary zip list-comprehension

如何根据以下列表len(keys_list) = 12len(values_list) = 24创建字典。

keys_list = ['Al','Bb','Ch','Da','Ev','Fr','Gi','Ht','Ia','Jh','Kd','Ly']
values_list = [i for i in 'VRCGVVRVCGGCCGVRGCVCGCGV']

所以我的输出将['Al':'VR' or ('V','R') or ['V','R']......]无论哪种方式都可以。我尝试了zip()的一些变体;和reached this post他们使用了zip_longest

import itertools
for i in itertools.zip_longest(keys_list,values_list):
    print (i)

我不想导入模块。

1 个答案:

答案 0 :(得分:1)

keys_list = ['Al','Bb','Ch','Da','Ev','Fr','Gi','Ht','Ia','Jh','Kd','Ly']
values_list = [i for i in 'VRCGVVRVCGGCCGVRGCVCGCGV']

grouped_values = [values_list[i] + values_list[i+1] for i in range(len(values_list) - 1)]
d = {k :v for k,v in zip(keys_list, grouped_values)}
print(d)

输出

{'Al': 'VR', 'Bb': 'RC', 'Ch': 'CG', 'Da': 'GV', 'Ev': 'VV', 'Fr': 'VR', 'Gi': 'RV', 'Ht': 'VC', 'Ia': 'CG', 'Jh': 'GG', 'Kd': 'GC', 'Ly': 'CC'}