2

我对 python 比较陌生,并且在使用 xml.dom 遍历节点子节点时遇到了一些麻烦。我想做这个:

dom = parse("synth_options.xml")
root = dom.documentElement
child_nodes = root.childNode

for index, node in child_nodes:
    #do stuff with index and node

但是,我收到此错误:

Traceback (most recent call last):
  File "synth.py", line 142, in <module>
    for index, node in child_nodes:
TypeError: iteration over non-sequence

奇怪的是,这有效:

for node in child_nodes:
    #do stuff with index and node

如果有帮助,我可以发布更多代码,但我认为没有其他相关内容。提前致谢。

4

1 回答 1

4

如果要同时获取索引和值,可以使用enumerate

for index, node in enumerate(child_nodes):

enumerate返回列表索引和值的元组。

使用示例:

>>> l = ['a', 'b', 'c']
>>> for index, value in enumerate(l):
    print index, value


0 a
1 b
2 c

希望这可以帮助!

于 2013-11-06T02:29:12.753 回答