我在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']
实例,我想创建一个可以执行某项操作的函数。如果有人愿意,我会非常感谢你的帮助。
答案 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}}