python - 获取包含另一个元素的数组中元素的索引

标签 python arrays

假设我有这个数组:

array = [[1,2,3],[4,5,6],[7,8,9]]

我想获取包含 5 的内部数组的索引。所以在这种情况下,我想要的返回索引是 1。

我确实尝试过 ind = array.index(5) 但我很清楚为什么这不起作用,因为括号中的值必须与数组中的元素完全匹配。我这样做的另一种方法是

counter = 0
for each in array:
  if 5 in each: break
  else: counter = counter + 1

这对我想要的效果很好,但我想检查是否有更简单、更清洁的方法来做到这一点。谢谢

最佳答案

使用 next(..) 有一个稍微好一点的 pythonic 方法。请记住,如果 5 不存在于任何子数组中,这将引发 StopIteration。您可能想要处理它。

>>> your_list = [[1,2,3],[4,5,6],[7,8,9]]
>>> next(i for i, x in enumerate(your_list) if 5 in x)
1

关于python - 获取包含另一个元素的数组中元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43513833/

相关文章:

python - 在 Pandas 中使用 Where 条件分组

python - 根据需要在字符串之间添加文本

android - 在 Android 上运行自己的 TensorFlow 模型会出现 native 推理错误 : "Session was not created with a graph before Run()!"

javascript - 如何在不使用for循环的情况下引用数组的多个索引值?

javascript - AngularJS 检查条件并返回 true 或 false

mysql - NSARRAY JSON 空

Python postgreSQL sqlalchemy 查询 DATERANGE 列

arrays - PyTorch:torch.arange 中的行为不一致

arrays - 如何从 lua 数组中提取值?

python - 如何在两个对象之间建立实时连接