Python-嵌套字典-提取值

时间:2020-07-04 18:25:09

标签: python-3.x dictionary nested

下面的嵌套词典存储了不同城市(北京,伦敦,里约)中各个国家/地区赢得的奥运奖牌数量。以下代码还创建了一个列表,列出了美国已获得的奖牌数量。是否有更Pythony,更干净或更有效的方法来获取该列表?

nested_d = {'Beijing':{'China':51, 'USA':36, 'Russia':22, 'Great Britain':19}, 'London':    {'USA':46, 'China':38, 'Great Britain':29, 'Russia':22}, 'Rio':{'USA':35, 'Great Britain':22, 'China':20, 'Germany':13}}

bei=nested_d["Beijing"]["USA"]
lon=nested_d["London"]["USA"]
rio=nested_d["Rio"]["USA"]

US_count.append(bei)
US_count.append(lon)
US_count.append(rio)
print(US_count)

谢谢!

1 个答案:

答案 0 :(得分:1)

使用列表理解。我们遍历nested_d中的键,然后每个键检索'USA'的值。

print([nested_d[key]['USA'] for key in nested_d])

[36, 46, 35]

注意:这确实假定在所有嵌套字典中都可以使用“美国”作为关键字。