我有一个python编码问题,需要一些想法
我编写了一个代码,查看交易列表,查看公司是否在买卖,并将价值转换为美元,然后返回。问题是我的原始列表如下所示:我有一个python编码问题,需要一些想法,python,list,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', 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',502682.4292 ], ['Beko', 966071.86], ['Cemex', 187242.16], ['Datsun', 748502.91], ['Equifax', 146517.59], ['Gerdau', 898579.89], ['Haribo', 265333.85]]
你应该用字典来订购你的公司
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]
使用字典而不是列表
#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