作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设,我有一个列表: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/
我是一名优秀的程序员,十分优秀!