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

时间:2017-12-15 15:07:12

标签: python python-3.x python-2.7 boolean clarifai

我在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'],但我的控制台在False之前列出了11个True。实际上,如果keyword中至少有一个concept['name']实例,我想创建一个可以执行某项操作的函数。如果有人愿意,我会非常感谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用任何操作员检查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'])) 使用必须按如下方式预处理列表:

{{1}}