gpt4 book ai didi

flutter - 如何在 Dart/Flutter 中找到从一个列表匹配到另一个列表的所有元素的索引

转载 作者:行者123 更新时间:2023-12-05 08:45:57 25 4
gpt4 key购买 nike

假设,我有一个列表:firstList = ["Travel", "Shopping", "Transport"];

另一个列表:secondList = ["Travel", "Shopping", "Shopping", "Travel", "Transport", "Transport", "Travel", "Travel"]

我需要从包含以下内容的 secondList 中找到所有元素的索引:"Travel"

这里是secondList "Travel"存在于索引 0、3、6 和 7

现在,我有一个包含元素索引的第三个列表,此处为 "Travel" .

indexList = [0, 3, 6, 7]//因为索引 0、3、6 和 7 只包含元素 "Travel" .

下面是我的程序:

for (int i = 0; i < firstList.length; i++) {
for (int j = 0; j < secondList.length; j++) {

indexList.add(secondList.indexOf(firstList[i]));

}
}

这不起作用,因为我得到这样的输出:

[0, 0, 0, 0, 0, 0, 0, 0, 0]

它似乎卡在了第一个索引上。

“Travel”,这里是一个例子,它应该动态匹配 firstList[i] 或任何其他元素,而不仅仅是硬编码的“Travel”。例如,如果我选择了 firstList[i],然后在 secondList[] 中找到相同元素的索引。

请帮我找出原因。我是编程新手。

最佳答案

试试这个:

main() {
var firstList = ["Travel", "Shopping", "Transport"];
var secondList = [
"Travel",
"Shopping",
"Shopping",
"Travel",
"Transport",
"Transport",
"Travel",
"Travel"
];
var thirdList = [];
for (var i = 0; i < secondList.length; i++) {
if (secondList[i] == "Travel") {
thirdList.add(i);
}
}
print(thirdList);
}

编辑:让它适用于 firstList

中的每个项目

试试这个:

main() {
var firstList = ["Travel", "Shopping", "Transport"];
var secondList = [
"Travel",
"Shopping",
"Shopping",
"Travel",
"Transport",
"Transport",
"Travel",
"Travel"
];
var thirdList = [];
for (var i = 0; i < firstList.length; i++) {
var sublist = [];
for (var j = 0; j < secondList.length; j++) {
if (secondList[j] == firstList[i]) {
sublist.add(j);
}
}
thirdList.add(sublist);
}
print(thirdList); // [[0, 3, 6, 7], [1, 2], [4, 5]]
}

关于flutter - 如何在 Dart/Flutter 中找到从一个列表匹配到另一个列表的所有元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70893344/

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