检查列表中至少一个关键字实例

Checking for at least one instance of keyword in list

我在 Python 中使用 Clarifai 的 API 从照片中获取概念名称,并想确定它们是否与局部变量匹配。以下命令调用列表:

In [1]:  p1_response = model.predict_by_filename(filename='PATH_TO_FILE')
         p1_concepts = p1_response['outputs'][0]['data']['concepts']
         for concept in p1_concepts:
         print(concept['name'])
Out [2]: street
         outdoors
         architecture
         travel
         city
         horizontal plane
         pavement
         road
         house
         town
         urban
         car
         no person
         building
         stock
         luxury
         traffic
         apartment
         business
         tourism

我的局部变量是 keyword,定义为 "car"。我尝试了 运行 if keyword in concept['name'],但我的控制台在 True 之前列出了 11 False 秒。实际上,如果 concept['name'] 中至少有一个 keyword 实例,我想创建一个函数来执行某些操作。如果有人愿意插话,我将不胜感激。

您可以使用任何运算符来检查您keyword出现在任何列表成员concept['name']

>>> keyword = "car"
>>> concept['name'] = ['car', 'carr', 'carrrr']
>>> any(word == keyword for word in concept['name'])
>>> True

然而,它只适用于列表元素,如果它们不是以 \n 结尾,要删除所有 \n 使用必须按如下方式预处理列表:

>>> clean_list = list(map(lambda s: s.strip(), concept['name']))