为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕桂英4014372 2023-06-27 17:26:40
所以我有一个集合位于另一个集合内,如下所示: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])无论如何,我可以超越这个吗?
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

顺便说一句,你已经嵌套了dicts。你没有任何sets。


您的意思是这样吗:


for name,value in country.items():

    print(f'capital city of {name} is {value["capital"]}')

输出:


capital city of spain is madrid

capital city of france is paris

capital city of germany is berlin

capital city of norway is oslo

capital city of peru is lima

更新:我在语句中使用了 an f-stringin print(),这有时是一种更简单的格式化字符串的方法。


查看完整回答
反对 回复 2023-06-27
?
MM们

TA贡献1886条经验 获得超2个赞

迭代字典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, Capita

l: lima'}]


查看完整回答
反对 回复 2023-06-27
  • 2 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信