用Python中的元素列表搜索列表字典的优化方法

我正在尝试在列表中搜索第一次出现的字典。我创建的逻辑适用于小数据,但我有一个一百万行的列表,其他要搜索的列表元素有 1000 个元素。

data = [{'team': 'a', 'id':11}, {'team': 'b', 'id':111}, {'team': 'c', 'id':1111}]
list_to_see = ['a','c']
check = None
for index in range(len(data)):
    if data[index]['team'] in list_to_see[index]:
        check = data[index]['id']
        break
print(check)

#Output: 11

所以,我得到了第一个元素 Id,这正是我想要的结果。是否有任何优化的方法可以获得可以处理大数据的相同输出?谢谢

回答

使用generator expression并调用 next 来获取第一个值:

g = (i['id'] for i,j in zip(data, list_to_see) if i['team'] in j)
print(next(g))


以上是用Python中的元素列表搜索列表字典的优化方法的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>