我有以下元組
[('A', 38, 132.0, 132.0), ('V', 22, 223.0, 223.0)]
我想遍歷它并創建一個如下所示的字典:
[{'symbol': 'A', 'sumshares': 38, 'avgprice': 132.0, 'purchase_p': 132}, {'symbol': 'V', 'sumshares': 22, 'avgprice': 223.0, 'purchase_p': 223.0}]
嘗試了幾天以找到正確的方法來做到這一點但沒有成功:(
謝謝你的幫助。
uj5u.com熱心網友回復:
您可以使用串列理解。為什么這樣做是因為首先串列理解解構了原始串列中的每個元組,然后將解構的變數(a、b、c 和 d)插入到字典中。
original = [('A', 1, 2, 3), ('X', 3, 4, 5)]
dictionary = [{'a': a, 'b': b, 'c': c, 'd': d} for a, b, c, d in original]
通過回圈,您可以使用解構來獲取值并將串列附加到字典中:
newlist = []
for row in original:
a, b, c, d = row
newlist.append({'a': a, 'b': b, 'c': c, 'd': d})
print(newlist)
uj5u.com熱心網友回復:
lst = [('A', 38, 132.0, 132.0), ('V', 22, 223.0, 223.0)]
keys = ('symbol', 'sumshares', 'avgprice','purchase_p')
dlist = []
for l in lst:
dlist.append(dict(zip(keys, l)))
print(dlist)
輸出
[{'symbol': 'A', 'sumshares': 38, 'avgprice': 132.0, 'purchase_p': 132.0}, {'symbol': 'V', 'sumshares': 22, 'avgprice': 223.0, 'purchase_p':223.0}]
uj5u.com熱心網友回復:
data=[('A', 38, 132.0, 132.0), ('V', 22, 223.0, 223.0)]
keys=['symbol','sumshares','avgprice','purchase_p']
mydict=[dict(zip(keys,dat)) for dat in data ]
print(mydict)
輸出
[{'symbol': 'A', 'sumshares': 38, 'avgprice': 132.0, 'purchase_p': 132.0}, {'symbol': 'V', 'sumshares': 22, 'avgprice': 223.0 , 'purchase_p': 223.0}]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431529.html
