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



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

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

我正在使用以下内容来查找是否存在类型:

matching_data = next((item for item in data if item["type"] == "fruit"), None) 

如果类型存在,我将使用以下方法检查是否存在特定的"文本":

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

然后编写另一个生成器(类似于上面(来检查是否存在匹配的"text"。

在检查是否存在匹配值时,我是否也可以检索匹配的idx?我会使用索引来更新数组中的值。如果帖子没有像社区期望的那样清晰,我很抱歉。感谢

使用enumerate

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

最新更新