假设我有这个数组:
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/