当前位置: 首页 > 面试题库 >

如何获取index(of :)以返回多个索引?

曾昂然
2023-03-14
问题内容

这是一个组数组。

var group = ["H","H","E","D",
             "G","D","G","E",
             "D","B","A","B",
             "A","A","G","C",
             "C","H","D","G",
             "H","B","E","F",
             "F","C","E","A",
             "B","C","F","F"]

我想做这样的事情来找到“ A”的索引。

group.index(of: "A"!)

但这将仅返回第一个索引,而后三个“ A”则不返回其他索引。

print(group.index(of: "A")!) //10

如何使程序返回“ A”的所有四个索引?


问题答案:

您可以使用的组合enumeratedcompactMap

let indexArray = group.enumerated().compactMap {
   $0.element == "A" ? $0.offset : nil
}    
print(indexArray) // [10, 12, 13, 27]


 类似资料:
  • 问题内容: 在Java中是否可以从方法返回两个或多个值到main?如果是这样,有可能吗?如果没有,我们怎么办? 问题答案: 你可以使用Java返回Class的对象。 如果要返回多个相关的值,则将它们封装到一个类中,然后返回该类的对象是有意义的。 如果要返回不相关的值,则可以使用Java的内置容器类(例如Map,List,Set等)。有关更多详细信息,请检查java.util包的JavaDoc。

  • 问题内容: 阅读numpy中argmin函数的文档时,我有些困惑。看起来应该可以完成这项工作: 读这个 返回沿轴的最小值的索引。 我可能会认为 将返回所有索引的数组: 但是,它只会返回。渔获量在哪里,或者我应该怎么做才能得到结果? 问题答案: 当您考虑多维数组时,该文档更有意义。 在指定轴的情况下,沿给定轴获取一维子数组,并返回每个子数组最小值的第一个索引。它不会返回单个最小值的所有索引。 要获取

  • 考虑这个代码 我做了一个包装器来延迟的方法调用是否有办法从setTimeout内部的回调中检索值,即从?

  • 问题内容: 选项:使用元组 考虑下面这个简单的例子: 但是,随着返回值的数量增加,这很快就会成为问题。如果要返回四个或五个值怎么办?当然,你可以继续修改它们,但是很容易忘记哪个值在哪里。在任何想要接收它们的地方打开它们的包装也是很丑陋的。 选项:使用字典 下一步的逻辑步骤似乎是引入某种“记录符号”。在Python中,一种明显的方法是使用dict。 考虑以下: (请注意,y0,y1和y2只是抽象标识

  • 我有两个矩阵,一个是矩阵(ncol=1,nrow=20,000),存储我要搜索的值,另一个矩阵是矩阵,存储一个大型数据集(ncol=1,nrow=5,000)。 矩阵:(,,....是行名) 矩阵:(,,,,...是行名) 我要为矩阵中的每个值查找矩阵的哪一行包含该字符串,并记录其矩阵的行名,并将其放在矩阵中该字符串行的下列列中(或在一列中,但用“,”分隔)。 例如,我希望有一个循环,首先从索引矩

  • 问题内容: 我已经使用Python多处理模块在Monte Carlo代码中实现了一些简单的并行性。我有看起来像的代码: 但是,当我查看结果列表时,似乎蒙特卡洛迭代器尚未启动。我知道它们有,因为我可以让这些过程在蒙特卡洛步骤中打印出信息。所以我在做些愚蠢的事情。我以为job.join()会阻止结果列表被构建,直到一切运行完毕,因此mc.results字段将被更新。 我意识到我还没有告诉您我的Mont