python-3.x - 从两个列表创建 dict,具有 1:2 键:值关系
问题描述
如何从以下列表中创建字典,len(keys_list) = 12
, len(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()
;并到达了他们使用的这个帖子zip_longest
。
import itertools
for i in itertools.zip_longest(keys_list,values_list):
print (i)
我更喜欢不必导入模块。
解决方案
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'}
推荐阅读
- facebook - 使用 api 发布到 instagram 和 facebook
- python - 如何在 TrialSpark 中使用并行性
- python - xarray:将时间片“插入”到数据集或数据数组中的最佳方法
- java - 有没有办法告诉 JSON 一个数字是 Long 而不是 Integer?
- sqlite - 如何在android中为sqlite查询引入索引?
- power-automate - PowerAutomate 努力发布 HTTP 将所有者添加到团队
- c++ - 无条件匹配模板
- python-3.x - 无法使用 brew install tesseract 在 Mac 上安装 Tesseract
- kubernetes - Kubernetes 中的 `deployment.apps` 是什么?
- node.js - 如何从自定义指令访问 Apollo 上下文