我有一个字典列表
m = [ {'currency_id':1,'price':20},{'currency_id':2,'price':25},{'currency_id':1,'price':44}]
1 表示美元,2 表示比特币。因此,我必须检查每个字典中的货币ID,如果价格以美元为单位,那么我必须将美元转换为比特币并添加新的键,值对"bitcoin_price":1.0,或者如果价格是比特币,那么我必须将其转换为美元并附加一个新的键,值对"usd_price":33。最后我想要这样的列表
m = [ {'currency_id':1,'price':20,'bitcoin_price':1.0},{'currency_id':2,'price':25,'usd_price':33},{'currency_id':1,'price':44,'bitcoin_price':1.0}]
我已经尝试了一些东西,但似乎我迷路了。
m = [{'a':1,'b':2,'c':3},{'d':1,'f':3,'t':6}]
for i,k in enumerate(m):
for w in k:
if k[w]==1:
k['as']=5555
else:
k['l']=23
你可以尝试这样的事情:
new_m = []
bitcoin_usd_price = 5000
for obj in m:
new_m.append(obj)
if obj['currency_id'] == 2:
new_m[-1]['usd_price'] = obj['price'] * bitcoin_usd_price
else:
new_m[-1]['bitcoin_price'] = obj['price'] / bitcoin_usd_price
m = new_m
现在只需将bitcoin_usd_price
分配给实际的货币转换比率(以美元为单位的比特币成本)。
UPD:更改苍蝇列表将是一个更简洁m
解决方案:
bitcoin_usd_price = 5000
for i in range(len(m)):
if m[i]['currency_id'] == 2:
m[i]['usd_price'] = m[i]['price'] * bitcoin_usd_price
else:
m[i]['bitcoin_price'] = m[i]['price'] / bitcoin_usd_price