【发布时间】:2018-03-27 16:27:55
【问题描述】:
我有一个包含多个元组作为键的字典:
dictionary = {('Paris', 'Monaco', 'Marseille'): 'France',
('Milan', 'Juventus', 'Roma'): 'Italy',
('Manchester', 'Liverpool', 'London'): 'England'}
如何将包含大量城市名称的列表映射到上面的字典:
lst = ['Paris','Paris','Monaco','Milan','London',...]
我试过这个:
countries = []
for k,v in dictionary.items():
for each in lst:
if each in k:
countries.append(v)
结果:它不是一一分配城市字典,而是多次列出所有键
期望的输出:
lst countries
Paris France
Paris France
Monaco France
Milan Italy
London England
... ...
有什么想法吗?
【问题讨论】:
-
为什么你的字典里有这种格式?为什么不让城市分开键和重复值?
-
假设我的字典中有很多键和值,很难用重复值创建单独的键
-
用单独的键制作一本新字典不困难。如果您有很多键和值,那么就更重要了,您可以避免一直循环遍历所有键。
标签: python list dictionary mapping