如何访问另一个集合内的集合的值

所以我有一个集合位于另一个集合内,如下所示:


country = { 

       'spain': { 'capital':'madrid', 'population':46.77 },

       'france': { 'capital':'paris', 'population':66.03 },

       'germany': { 'capital':'berlin', 'population':80.62 },

       'norway': { 'capital':'oslo', 'population':5.084 },

       'peru' : {'capital':'lima', 'population':250}

     }

我需要显示每个国家/地区每个首都的名称,因此我决定使用 for 循环。


for countries in country:

    print('capital city of '+countries+' is '+countries)

现在我可以访问每个国家,但不能访问首都。我尝试在 for 循环之间添加一些变量,因为它给了我一个“太多无法打包错误”。下面是我的第二次尝试。


for countries,value in country.items():

    print('capital city of '+countries+' is '+countries[value])

无论如何,我可以超越这个吗?


慕桂英4014372
浏览 132回答 2
2回答

守着星空守着你

顺便说一句,你已经嵌套了dicts。你没有任何sets。您的意思是这样吗:for name,value in country.items():    print(f'capital city of {name} is {value["capital"]}')输出:capital city of spain is madridcapital city of france is pariscapital city of germany is berlincapital city of norway is oslocapital city of peru is lima更新:我在语句中使用了 an f-stringin print(),这有时是一种更简单的格式化字符串的方法。

MM们

迭代字典country并使用值打印适当的大写字母key:country = {        'spain': { 'capital':'madrid', 'population':46.77 },       'france': { 'capital':'paris', 'population':66.03 },       'germany': { 'capital':'berlin', 'population':80.62 },       'norway': { 'capital':'oslo', 'population':5.084 },       'peru' : {'capital':'lima', 'population':250}     }     for country, capitals in country.items():    print("Country: {0}, Capital: {1}".format(country, capitals['capital']))输出:Country: peru, Capital: lima                                                                                                                                                 Country: germany, Capital: berlin                                                                                                                                            Country: spain, Capital: madrid                                                                                                                                              Country: france, Capital: paris                                                                                                                                              Country: norway, Capital: oslo编辑:单行:print([{"Country: {0}, Capital: {1}".format(cn, cp['capital'])} for cn, cp in country.items()])输出:[{'Country: spain, Capital: madrid'}, {'Country: germany, Capital: berlin'}, {'Country: norway, Capital: oslo'}, {'Country: france, Capital: paris'}, {'Country: peru, Capital: lima'}]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python