[英]Python 3.x - Mapping dictionary with multiple tuples as keys
我有一個包含多個元組作為鍵的字典:
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
... ...
有任何想法嗎?
我建議你展平字典鍵。 跨鍵復制值不是問題:
dictionary = {k: v for tup, v in dictionary.items() for k in tup}
然后使用新詞典輕松構建您的列表:
countries = [dictionary[city] for city in lst]
您可以像這樣並排匹配城市和國家:
for city, country in zip(lst, countries):
print(city, country)
或者不構建新的countries
列表,你可以直接使用新的字典:
for city in lst:
print(city, dictionary[city])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.