我正在尝试检查给定的字符串(“ Sample1”)是否在此词典的“文本”字段内。我在做什么错了?
var = {'data': [{'text': 'Sample1',
'descriptionMoreURL': 'https://sample1.com',
'description': 'this is sample1',
'type': 'text'},
{'text': 'Sample2',
'descriptionMoreURL': 'https://sample2.com',
'description': 'this is sample2',
'type': 'text'}
]}
print('Sample1' in var['data'])
例如,在这段代码中,我希望输出为True。同样,如果将字符串“ Sample1”替换为“ Sample2”,它也会返回True。
答案 0 :(得分:0)
您检查的级别比所需的级别高。 'Sample1'
在var['data']
中不作为键存在,但在较低的嵌套字典中确实存在。
您可以在此处使用any()
来检查每个字典的'Sample1'
值中是否存在'text'
:
>>> any(d['text'] == 'Sample1' for d in var['data'] for k in d)
True
>> any(d['text'] == 'Sample2' for d in var['data'] for k in d)
True
答案 1 :(得分:-1)
print(var ['data']中的'Sample1')按照字典[{},{},{}]
的顺序检查您的字符串尝试一些可以做的事情:
for el in var['data']:
print('Sample1' in el.values())