python - 从字典字典中提取值
问题描述
我有一本字典 A:
A = {"'Delhi-Mumbai'": {6: [3]}, "'Doon-Gurgaon'": {8: [6, 9, 8, 5], 6: [7, 1, 2]}}
我想从中提取数据,这样我就得到了这个
extracted = {"'Delhi-Mumbai'": 6, "'Doon-Gurgaon'": [8,6]}
我试着运行这个
for k,v in A.items():
for i,j in v.items():
new[k]=i
但此代码仅返回:
{"'Delhi-Mumbai'": 6, "'Doon-Gurgaon'": 6}
我怎样才能做到这一点?
解决方案
这是一个简单的选择:
res = {key: list(value) for key, value in A.items()}
如果你想在同一个 go 中修复你的双引号,你可以使用这个:
res = {key[1:-1]: list(value) for key, value in A.items()}
# {'Delhi-Mumbai': [6], 'Doon-Gurgaon': [8, 6]}
这里我只是去掉每个字符串的第一个和最后一个字符。
在您的解决方案中,您会覆盖new[k] = i
每个新的i
. 这样就只剩下最后一个了。
推荐阅读
- sql - 是否可以有一个外键引用多个表?
- java - 用单个字母替换所有双倍或三倍的字母
- angular - JhiEventManager 多个订阅
- laravel - 如何在laravel中插入多条记录而不循环
- node.js - 使用 npm 安装 bassaudio 库时出现问题
- php - Docusign PHP 在尝试获取令牌时获取“invalid_grant:unsupported_grant_type”(JWT auth)
- mysql - 如何获取单级传销树的团队总数
- c - C 从中缀字符串中提取数字
- python - 过滤以 csv 命名的图像
- php - 无法识别“提交表单”的 isset() 函数