python - 如何合并2个字典,其中值是具有相同键的字符串
问题描述
我有两本词典。
gen1 = {0: 'RR', 1: 'RR', 2: 'rR', 3: 'rR', 4: 'RR', 5: 'RR', 6: 'rR', 7: 'rR',
8: 'Rr', 9: 'Rr', 10: 'rr', 11: 'rr', 12: 'Rr', 13: 'Rr', 14: 'rr', 15: 'rr'}
和
gen2 = {0: 'PP', 1: 'PP', 2: 'PP', 3: 'PP', 4: 'PP', 5: 'PP', 6: 'PP', 7: 'PP',
8: 'PP', 9: 'PP', 10: 'PP', 11: 'PP', 12: 'PP', 13: 'PP', 14: 'PP', 15: 'PP'}
我想用相同的键连接它们成为
gen3 = {0: 'RRPP', 1: 'RRPP', 2: 'rRPP', 3: 'rRPP', 4: 'RRPP', 5: 'RRPP', 6: 'rRPP', 7: 'rRPP',
8: 'RrPP', 9: 'RrPP', 10: 'rrPP', 11: 'rrPP', 12: 'RrPP', 13: 'RrPP', 14: 'rrPP', 15: 'rrPP'}
解决方案
您可以使用字典理解f-strings
来构建新字典:
{k:f'{v}{gen2.get(k, "")}' for k,v in gen1.items()}
# {k:'{}{}'.format(v, gen2.get(k, "")) for k,v in gen1.items()} # python versions under 3.6
{0: 'RRPP', 1: 'RRPP', 2: 'rRPP', 3: 'rRPP', 4: 'RRPP', 5: 'RRPP', 6: 'rRPP',
7: 'rRPP', 8: 'RrPP', 9: 'RrPP', 10: 'rrPP', 11: 'rrPP', 12: 'RrPP', 13: 'RrPP',
14: 'rrPP', 15: 'rrPP'}
推荐阅读
- c# - 如何在 C# 项目中使用 html-agility-pack 或 Regex 分隔 HTML 内的文本?
- python - 在 Web 应用程序中禁用副本服务
- javascript - Android 9.0 无法安装 React Native 应用
- python - 如何编写 python 脚本以使用 http 与远程服务进行交互
- uwp - OpenGL (角度) + XAML (UWP)
- vba - 如何在允许 Word 文档关闭之前要求确认?
- swift - Swift BackTracking N-queen
- python - 使用 Python 从地图图像中提取建筑物边缘
- r - 用 dplyr 总结逻辑数据帧
- rubyxl - RubyXL:如何在 XLSX 中将单元格设为下拉列表