[英]get key and value from a list with dict
我有一個字典列表:
dividends=[
{"2005":0.18},
{"2006":0.21},
{"2007":0.26},
{"2008":0.31},
{"2009":0.34},
{"2010":0.38},
{"2011":0.38},
{"2012":0.38},
{"2013":0.38},
{"2014":0.415},
{"2015":0.427}
]
我想檢索兩個列表的鍵和值,例如:
年列表 = [2005,2006, 2007,2008,2009,2010...] 股息列表 = [0.18,0.21, 0.26....]
有什么方法可以實現嗎?
謝謝。
假設您的字典總是有一個您正在提取的鍵值對,您可以使用兩個列表推導式:
l1 = [d.values()[0] for d in dividends]
# ['2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015']
l2 = [d.keys()[0] for d in dividends]
# [0.18, 0.21, 0.26, 0.31, 0.34, 0.38, 0.38, 0.38, 0.38, 0.415, 0.427]
嘗試:
yearslist = dictionary.keys()
dividendlist = dictionary.values()
對於鍵和值:
items = dictionary.items()
也可用於拆分它們:
yearslist, dividendlist = zip(*dictionary.items())
您可以創建兩個列表並在 yearlist 中附加鍵和在股息列表中附加值。
這是代碼。
dividends=[
{"2005":0.18},
{"2006":0.21},
{"2007":0.26},
{"2008":0.31},
{"2009":0.34},
{"2010":0.38},
{"2011":0.38},
{"2012":0.38},
{"2013":0.38},
{"2014":0.415},
{"2015":0.427}
]
yearlist = []
dividendlist = []
for dividend_dict in dividends:
for key, value in dividend_dict.iteritems():
yearlist.append(key)
dividendlist.append(value)
print 'yearlist = ', yearlist
print 'dividendlist = ', dividendlist
輸出:
yearlist = ['2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015']
dividendlist = [0.18, 0.21, 0.26, 0.31, 0.34, 0.38, 0.38, 0.38, 0.38, 0.415, 0.427]
第二種使用列表推導式的方法
dividends=[
{"2005":0.18},
{"2006":0.21},
{"2007":0.26},
{"2008":0.31},
{"2009":0.34},
{"2010":0.38},
{"2011":0.38},
{"2012":0.38},
{"2013":0.38},
{"2014":0.415},
{"2015":0.427}
]
yearlist = [dividend_dict.keys()[0] for dividend_dict in dividends]
dividendlist = [dividend_dict.values()[0] for dividend_dict in dividends]
print 'yearlist = ', yearlist
print 'dividendlist = ', dividendlist
輸出:
yearlist = ['2005', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015']
dividendlist = [0.18, 0.21, 0.26, 0.31, 0.34, 0.38, 0.38, 0.38, 0.38, 0.415, 0.427]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.