Python生成器:是否可以在匹配时检索索引

Python生成器:是否可以在匹配时检索索引,python,generator,Python,Generator,我想检索与特定值匹配的元素索引 例如,我有一个以下格式的数组: data = [ { type: <string>, texts: [ text: <String>, locations: [ { x: <int>, y

我想检索与特定值匹配的元素索引 例如,我有一个以下格式的数组:

data = [
  {
    type: <string>,
    texts: [ 
             text: <String>,
             locations: [
                           {
                             x: <int>,
                             y: <int>
                           }  
                        ]
           ]
  }

]
如果存在类型,我将使用以下命令检查是否存在特定的“文本”:

if macthing_data == None:
   <do some thing>
else:
   type_idx = 0
   for idx, item in matching_data:
       if item["type"] == "fruit":
          type_idx = idx
          break
如果macthing_数据==无:
其他:
类型_idx=0
对于idx,匹配_数据中的项:
如果项目[“类型”]=“水果”:
类型_idx=idx
打破
然后编写另一个生成器(与上面类似)以检查是否存在匹配的“文本”

在检查匹配值是否存在时,是否有任何方法可以检索匹配的
idx
? 我将使用索引来更新数组中的值。 抱歉,如果帖子没有社区期望的那么清晰。 谢谢使用

输出

0 a
1 b
2 c

非常感谢。我的假设是,无论我使用“for index,value in enumerate(generator)”还是“for value in enumerate(generator)”,值都是相同的。然而,当我在代码中测试这一点时,它们的工作方式似乎有所不同对于索引,enumerate(generator)中的值“似乎检索”类型,“文本”,其中“for value in enumerate(generator)”似乎返回(元素)数据的字典。我的偏好是获得后一个值,但也有索引。我在这里遗漏了什么。我无法使用next()使其工作,但可以使用枚举中的列表理解使其工作。我能够检索索引和相应的实体。谢谢你的帮助。
def example_generator():
  yield 'a'
  yield 'b'
  yield 'c'

for index, value in enumerate(example_generator()):
  print(index, value)
0 a
1 b
2 c