gpt4 book ai didi

algorithm - 嵌套 for 循环迭代替代方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:51 26 4
gpt4 key购买 nike

我有以下不同的类型

Types:
R -> R1, R2, R3....
RE -> RE1, RE2, RE3....
REA -> REA1, REA2, REA3...

They have the following relationship.

Tree Structure

对于给定的项目列表,我想遍历每个叶子并执行一些操作。现在,我有一个嵌套三层的 for 循环。

for (r in Rs) {
List<RE> REs = get(R);
for(re in REs) {
List<REA> REAs = get(re);
for(rea in REAs) {
//do some processing for the list of items
for(each item in items) {
//process each item
}
}
}
}

是否有更好的迭代方法?

最佳答案

不确定您使用的是哪种语言,但您可以通过不将所有列表存储在 locals 中来缩短该片段:

for (r in Rs) {
for (re in get(r)) {
for (rea in get(re)) {
for (item in rea) {
//process each item
}
}
}
}

或者你可以递归:

traverse(items) {
if (items.isLeaf()) {
// process items
} else {
for (item in items) {
traverse(item);
}
}
}
traverse(Rs)

关于algorithm - 嵌套 for 循环迭代替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36782387/

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