首页 > 解决方案 > 从字典字典中提取值

问题描述

我有一本字典 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}

我怎样才能做到这一点?

标签: pythonpython-3.xdictionary

解决方案


这是一个简单的选择:

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. 这样就只剩下最后一个了。


推荐阅读