company_dict_noIPO = {}
company_noIPOlist = []
for item in dom.iterfind('list/item'):
if item.iterfind('StockHolderInfolist'):
#company_dict_noIPO['corp']
# corpname=item.findtext('EnName')
for items in item.iterfind('StockHolderInfolist'):
for entry in items:
#company_dict_noIPO['corp']=corpname
company_dict_noIPO['stockhoder'] = entry.findtext('stockhoder')
company_dict_noIPO['investratio'] = entry.findtext('investratio')
company_dict_noIPO['investamt'] = entry.findtext('investamt')
company_noIPOlist.append(company_dict_noIPO)
#print company_dict_noIPO
print company_noIPOlist
这里我想把每次解析出来的字典company_dict_noIPO用append方法添加到列表company_noIPOlist里,但是结果显示如下:
第一次循环得到的结果:
[{'stockhoder': u'u674eu6653u519b', 'investamt': u'800.00u4e07u5143', 'investratio': '72.73%'}]
第二次循环得到的结果:
[{'stockhoder': u'u6bb5u6625u751f', 'investamt': u'300.00u4e07u5143', 'investratio': '27.27%'}, {'stockhoder': u'u6bb5u6625u751f', 'investamt': u'300.00u4e07u5143', 'investratio': '27.27%'}]
在第二次循环迭代的时候把第一次循环获得的列表元素给覆盖了,请问这是什么问题,怎么解决?
字典
我一开始以为是循环有问题,但是print字典company_dict_noIPO的结果如下:
{'stockhoder': u'u674eu6653u519b', 'investamt': u'800.00u4e07u5143', 'investratio': '72.73%'}
{'stockhoder': u'u6bb5u6625u751f', 'investamt': u'300.00u4e07u5143', 'investratio': '27.27%'}
所以循环是没问题的。
完全没思路到底是哪里出错了,求大神解决。。