我收到一个JSON字典,我想检查某些键是否存在并且是真的。你知道吗
我用all(i in incoming_json for i in ['title', 'code', 'university', 'lecturer'])
检查它们是否存在,但我一直在检查它们是否是真的。你知道吗
我试过all(i in incoming_json and True for i in ['title', 'code', 'university', 'lecturer'])
和all(i in incoming_json for i in ['title', 'code', 'university', 'lecturer'] if i)
,但它们似乎没有任何区别。你知道吗
我做错什么了?你知道吗
JSON示例:
{title: "Example title", code: "1234", university: "2", lecturer: "John Doe"}
澄清:我只需要知道他们是真是假。你知道吗
编辑:谢谢你的回复,我本可以接受其中任何一个,但我接受了一个解释我做错了什么。你知道吗
and True
检查一下。。嗯,没什么,因为True
是True
。i in incoming_json and incoming_json[i]
将检查在incoming_json
中表示的键的值是否也是真的(或者评估为True
的值)。你知道吗如果确实要检查布尔值
True
(而不是1
等),请使用incoming_json[i] is True
。你知道吗只需使用
incoming_json.get(i)
即可返回键的值,如果键不存在,则使用None
,如下所示:只有在字典中不存在值或者值为
False
时,才会返回False
您可以这样尝试:
相关问题 更多 >
编程相关推荐