如何从嵌套字典中提取字典?



假设我有一个嵌套字典

x = {'town1': {'thames': 'moderate', 'bourton': 'low'},
'town2': {'river cam': 'high'},
'town3': {'dickler': 'moderate', 'mil': 'severe'}}

我想提取城镇名称和风险等级(高、中、低或严重)

所需输出:

y = {'town1': ['moderate', 'low'],
'town2': ['high'],
'town3': ['moderate', 'severe']}

这是我的代码:

d = []
for k,v in x.items():
d.append((k,(v)))
y=[]
for i in range(len(d)):
for k,v in d[i][1].items():
y.append((d[i][0],v))
print(y)

使用列表推导式在字典推导式中:

x = {'town1': {'thames': 'moderate', 'bourton': 'low'}, 'town2': {'river cam': 'high'}, 'town3': {'dickler': 'moderate', 'mil': 'severe'}}
y = {k: [v for k, v in v.items()] for k, v in x.items()}
print(y)
# {'town1': ['moderate', 'low'], 'town2': ['high'], 'town3': ['moderate', 'severe']}

单向:

y = {a[0]: list(a[1].values()) for a in x.items()}

结果将是:

{
'town1': ['moderate', 'low'],
'town2': ['high'],
'town3': ['moderate', 'severe']
}
res = {k: list(v.values()) for k, v in x.items()}

最新更新