【发布时间】:2011-04-17 03:26:01
【问题描述】:
最初我的程序是这样的:
inst = {}
class IContainer:
dicList = {}
for i in range(10):
inst[i] = IContainer()
def FindEnd(node):
if node.text != None:
inst[counter].dicList[node.tag] = node.text
else:
for subNode in node:
FindEnd(subNode)
counter = 0
for element in root:
if element.tag == "Items":
for subE in element:
if subE.tag == "Item":
for subSubE in subE:
FindEnd(subSubE, counter)
counter += 1
效果很好,我能够将内容解析到字典中,我想改为动态创建列表。
所以
counter = 0
for element in root:
if element.tag == "Items":
for subE in element:
if subE.tag == "Item":
inst[counter] = IContainer()
for subSubE in subE:
FindEnd(subSubE)
for i in range(len(inst)):
print inst[i]
print inst[i].dicList
counter += 1
当我运行它时
for i in range(len(inst)):
print inst[i]
print inst[i].dicList
所有的 inst 都被最终循环的地址和数据替换了......我不知道出了什么问题。
【问题讨论】:
标签: python dictionary