我有一个python编码问题,需要创意

时间:2015-11-09 14:33:58

标签: python list

我编写了一个代码,用于查看交易清单,查看公司是买入还是卖出,并将价值转换为美元,然后将其返回。问题是我的原始列表如下所示:

 [['Acer', 481242.74], ['Beko', 966071.86], ['Cemex', 187242.16], ['Datsun', 748502.91], ['Equifax', 146517.59], ['Gerdau', 898579.89], ['Haribo', 265333.85]]

当我运行我的代码时,它会迭代大约100个事务,并在每个事务返回一个如下示例之后:

['Acer', 21439.6892]

现在我的问题是我想用这个新值更新原始列表中的值,以便它仍然具有公司名称,但是它后面的两个值将被添加,新值将出现在原始列表中下一次迭代。所以481242.74 + 21439.6892 = 502682.4292所以新的原始列表看起来如下,更新了acer值

  [['Acer',502682.4292  ], ['Beko', 966071.86], ['Cemex', 187242.16], ['Datsun', 748502.91], ['Equifax', 146517.59], ['Gerdau', 898579.89], ['Haribo', 265333.85]]

2 个答案:

答案 0 :(得分:0)

您应该使用字典来订购您的公司

d ={'Acer': 481242.74,'Beko': 966071.86, 'Cemex': 187242.16, 'Datsun': 748502.91, 'Equifax': 146517.59, 'Gerdau': 898579.89, 'Haribo': 265333.85}
for k,v in d.items():
    d[k] = v+sample[1]

答案 1 :(得分:0)

使用字典而不是列表。

#Make the master data structure a Dictionary
myDict = {'Acer':float(481242.74) }
print myDict

#iterate over the newList and update the master dictionary
newList = [['Acer', float(502682.4292)]]
for Company, NewValue in newList:
    myDict[Company]=(myDict[Company]+NewValue)
print myDict