下面的嵌套词典存储了不同城市(北京,伦敦,里约)中各个国家/地区赢得的奥运奖牌数量。以下代码还创建了一个列表,列出了美国已获得的奖牌数量。是否有更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)
谢谢!
答案 0 :(得分:1)
使用列表理解。我们遍历nested_d
中的键,然后每个键检索'USA'
的值。
print([nested_d[key]['USA'] for key in nested_d])
[36, 46, 35]
注意:这确实假定在所有嵌套字典中都可以使用“美国”作为关键字。