我有一個字典串列:
dicts = [{'year':2020, 'target':'usd'}, {'year':2019, 'target':'eur'}, {'year':2018, 'target':'eur'}, {'year':2018, 'target':'eur'}, {'year':2016, 'target':'eur'}]
我只想列出唯一的年份,我該怎么做?
有了這個,我可以獲得所有值:
unique_years = [{value for (key,value) in dct.items() if key=='date'} for dct in dicts]
unique_years
Output:
[{2020}, {2019}, {2018}, {2018}, {2016}]
雖然這段代碼列出了所有獨特的東西:
list(set(val for dic in dicts for val in dic.values()))
Output:
[2016, 2018, 2019, 2020, 'usd', 'eur']
在我的問題中,我想看看缺少哪些年份,所以我想我可以將它們列為 set()。
uj5u.com熱心網友回復:
像這樣:
unique_years = set([x['year'] for x in dicts])
uj5u.com熱心網友回復:
unique_years = set()
for a_dict in dicts:
year = a_dict.get('year') or a_dict.get('date')
unique_years.add(year)
print(unique_years) # {2016, 2018, 2019, 2020}
我還注意到“年份”不是包含年份資料的唯一鍵。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/451058.html
標籤:python-3.x 字典 字典理解 集合理解
下一篇:字典中的字典
