我正在解析XML文档,寻找描述函数调用的项目。
当我找到一个带有函数调用的节点时,它可以有零个或多个参数,但在我处理它们之前我不知道有多少 - 所以,没有预先确定数据结构的大小。
此外,每个参数的"Version1:<span style="font-size:10px;"> (10.3.4)</span> vs Version2: <span style="font-size:10px;">(10.3.4)</span>
可能为空。
我正在尝试创建类似的东西:
description
处理完所有参数后,我可以使用numParams = 0
for each param in fucntionNode:
params[numParams]['name'] = xxx # from the XML which we are parsing
# or, do I mean ...
params[numParams].name = xxx
# also get param type and description
numParams += 1
数据结构执行某些操作。
我认为 params
中的每个条目都应该是字典,但我不确定如何动态构建一个&#34;数组&#34;他们。
有人可以告诉我如何pythonically声明适当的数据结构,添加到它,然后,访问它?
而且,不幸的是,我需要在之后访问时进行索引。例如。 param
答案 0 :(得分:1)
不清楚你到底需要什么(xxx
来自param?)。它可能就像这个一样简单
params = []
for param in functionNode:
params.append({'name': xxx})
或
params = [{'name': xxx} for param in functionNode]
或应该是
params = [{'name': xxx, 'type': yyy, 'desc': zzz} for param in functionNode]
[答案] OP在这里,我希望你不要介意我为了清楚而附加这个。我没有改变你的答案(上图)。
我使用了你的第一个选项:
params = []
for idx, param in enumerate(functionNode):
# parse XML and assign local variables type, name & description
params.append({'name': name, 'type': type, 'description': description})
我可以稍后访问
params[2]['name']