回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有下面的字典,我想做一个反向查找</p>
<pre><code>countries_dict = {'Andorra': ('Europe', 'Andorra la Vella'),
'Afghanistan': ('Asia', 'Kabul'),
'Antigua and Barbuda': ('North America', "St. John's"),
'Albania': ('Europe', 'Tirana'),
'Armenia': ('Asia', 'Yerevan'),
'Angola': ('Africa', 'Luanda'),
'Argentina': ('South America', 'Buenos Aires'),
'Austria': ('Europe', 'Vienna'),
'Australia': ('Oceania', 'Canberra'),
'Azerbaijan': ('Asia', 'Baku'),
'Barbados': ('North America', 'Bridgetown'),
'Bangladesh': ('Asia', 'Dhaka'),
'Belgium': ('Europe', 'Brussels')}
</code></pre>
<p>我的代码如下所示:</p>
<pre><code>def create_continents_dict(dct = dict) -> dict:
reversed_dictionary = {value[0] : key for (key, value) in dct.items()}
return reversed_dictionary
print(create_continents_dict(countries_dict))
{'Europe': 'Belgium', 'Asia': 'Bangladesh', 'North America': 'Barbados', 'Africa': 'Angola', 'South America': 'Argentina', 'Oceania': 'Australia'}
</code></pre>
<p>然而,我只得到最后一个它作为值查找的国家。我想要的是作为国家列表的值。有了上面的代码,我希望每个拥有同一个大陆的国家,都应该在列表中,对吗</p>
<pre><code>{'Europe': ['Andorra', 'Albania', 'Austria', 'Belgium'] 'Asia': ['Afghanistan', 'Armenia', 'Azerbaijan', 'Bangladesh'], 'North America': ['Antigua and Barbuda', 'Barbados'], 'Africa': ['Angola'], 'South America': ['Argentina'], 'Oceania': ['Australia']}
</code></pre>