我正在尝试使用IronPython中的列表解析生成对象列表,以将其作为数组传递给函数。下面的代码生成一个TreeNode
个对象的数组,例如[treeNode1,treeNode2,treeNode3]
我想在数组中添加一个根节点,以便像[treeNode1,treeNode2,treeNode3,root]
那样扩展数组,而不是[[treeNode1,treeNode2,treeNode3],root]
def _to_tree_nodes(self,lst):
l=dict()
for tuple in lst:
if tuple[1] not in l:
l.update({tuple[1]:[tuple[0]]})
else:
l[tuple[1]].append(tuple[0])
root = TreeNode("Level " + str(max(l)), Array[TreeNode]([TreeNode(x) for x in l[max(l)]]))
for i in xrange(max(l)-1,0,-1):
root = TreeNode("Level " + str(i), Array[TreeNode]([TreeNode(x) for x in l[i]]))
return root
我怎样才能实现它?
答案 0 :(得分:1)
只需连接一个额外的列表对象:
root = TreeNode("Level " + str(i), Array[TreeNode](
[TreeNode(x) for x in l[i]] + [root]))