以下是一个示例代码,演示如何遍历记录以建立层级结构:
class Node:
def __init__(self, name):
self.name = name
self.children = []
def build_hierarchy(records):
# 创建根节点
root = Node("root")
# 创建记录字典,用于快速查找节点
record_dict = {"root": root}
for record in records:
parent_name, child_name = record["parent"], record["name"]
parent_node = record_dict.get(parent_name)
if not parent_node:
# 如果父节点不存在,创建父节点
parent_node = Node(parent_name)
record_dict[parent_name] = parent_node
# 创建子节点
child_node = Node(child_name)
# 将子节点添加到父节点的children列表中
parent_node.children.append(child_node)
# 将子节点添加到记录字典中
record_dict[child_name] = child_node
return root
# 示例输入记录
records = [
{"name": "A", "parent": "root"},
{"name": "B", "parent": "A"},
{"name": "C", "parent": "A"},
{"name": "D", "parent": "B"},
{"name": "E", "parent": "B"},
{"name": "F", "parent": "C"},
{"name": "G", "parent": "C"},
]
# 构建层级结构
root = build_hierarchy(records)
# 打印层级结构
def print_hierarchy(node, level=0):
print(" " * level + node.name)
for child in node.children:
print_hierarchy(child, level + 1)
print_hierarchy(root)
运行以上代码,将输出以下层级结构:
root
A
B
D
E
C
F
G
下一篇:遍历记录以执行存储过程并存储结果