gpt4 book ai didi

python - 自动化深度嵌套函数python

转载 作者:行者123 更新时间:2023-11-28 19:55:52 24 4
gpt4 key购买 nike

我有一个包含深度嵌套子项的数据库模型。我正在尝试将所有底层 id(所有级别)添加到字典条目中。我当前的代码如下所示:

children = obj.children
for child in children:
data["children_ids"].append(child.id)
for child in child.children:
data["children_ids"].append(child.id)
for child in child.children:
data["children_ids"].append(child.id)
for child in child.children:
data["children_ids"].append(child.id)

这段代码功能齐全,但问题相当明显。我不想一遍又一遍地编写相同的代码:它丑陋、不切实际并且不太易于维护。我该怎么做?

最佳答案

使用递归函数在不同的 child 上运行相同的代码:

def add_children_ids(ids, children):
for child in children:
ids.append(child.id)
add_children_ids(ids, child.children)

children = obj.children
data['children_ids'] = []
add_children_ids(data['children_ids'], children)

因为 ids 是一个可变列表,所以没有必要返回

关于python - 自动化深度嵌套函数python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com