Python 检查字典是否包含true或false数据,然后返回响应
这是一个json响应,我从我的web客户端视图得到,我想检查这个列表字典是否包含数据。我如何继续?谢谢Python 检查字典是否包含true或false数据,然后返回响应,python,json,django,Python,Json,Django,这是一个json响应,我从我的web客户端视图得到,我想检查这个列表字典是否包含数据。我如何继续?谢谢 [ { "id": 41, "commercialOffice": false, "haveStoreRooms": false, "workFromHome": false, "seperateOffice": false, "receptionArea": false, "standardInsurance": false,
[
{
"id": 41,
"commercialOffice": false,
"haveStoreRooms": false,
"workFromHome": false,
"seperateOffice": false,
"receptionArea": false,
"standardInsurance": false,
"teamAudit": false,
"auditReport": false,
"receptionist": false,
"qualityAssuranceTeam": false,
"subContractor": null,
"employeeIdentityCard": false,
"employeeUniform": false,
"insuranceList": "",
"company": null
},
{
"id": 45,
"commercialOffice": false,
"haveStoreRooms": false,
"workFromHome": false,
"seperateOffice": false,
"receptionArea": false,
"standardInsurance": false,
"teamAudit": false,
"auditReport": false,
"receptionist": false,
"qualityAssuranceTeam": false,
"subContractor": null,
"employeeIdentityCard": false,
"employeeUniform": false,
"insuranceList": "0",
"company": 71
},
{
"id": 46,
"commercialOffice": true,
"haveStoreRooms": true,
"workFromHome": false,
"seperateOffice": false,
"receptionArea": false,
"standardInsurance": true,
"teamAudit": false,
"auditReport": false,
"receptionist": false,
"qualityAssuranceTeam": false,
"subContractor": null,
"employeeIdentityCard": true,
"employeeUniform": false,
"insuranceList": "0",
"company": 68
},
]
我在想这个
def (self):
dic = {'key1': ['value1', 'value2'],
'key2': 'value77' }
values = dic.values()
'value77' in [x for v in values for x in v if type(v)==list] or
'value77' in values
这取决于你所说的数据是什么意思。有录音机钥匙吗?它是给定的dict密钥吗 在Python中,空的dict是错误的,因此只要调用列表就会告诉您每个dict是否至少有一个键值对:
>>> all( [ {1:2}, {'A':'B'} ] )
True
>>> all( [ {1:2}, {'A':'B'}, {}, {3:4}] )
False
如果要检查每个dict中是否存在给定的键,可以将列表理解与
get
结合使用in操作符:
if b in a:
演示:
>>> a = {'foo': 1, 'bar': 2}
>>> 'foo' in a
True
>>> 'spam' in a
False
dic_3 = {'key1': ['value1', 'value2'],'key2': '','key3':None }
for key, value in dic_3.iteritems():
if value is None or value =='':
print key ,"is Empty"
key3 is Empty
key2 is Empty
对于你的答案,@Eric Duminil解释的是更好的解决方案
根据您的要求更新:
>>> a = {'foo': 1, 'bar': 2}
>>> 'foo' in a
True
>>> 'spam' in a
False
dic_3 = {'key1': ['value1', 'value2'],'key2': '','key3':None }
for key, value in dic_3.iteritems():
if value is None or value =='':
print key ,"is Empty"
key3 is Empty
key2 is Empty
输出:
>>> a = {'foo': 1, 'bar': 2}
>>> 'foo' in a
True
>>> 'spam' in a
False
dic_3 = {'key1': ['value1', 'value2'],'key2': '','key3':None }
for key, value in dic_3.iteritems():
if value is None or value =='':
print key ,"is Empty"
key3 is Empty
key2 is Empty
你想查什么?请把问题贴好。。要检查dict中的数据,您可以在Operator中使用。我只想检查每个键是否包含值,然后返回一个响应。请我添加更多信息。。。是的。我已经做了。但是,它仍然不能解决我的问题。@Patco:你到底想检查什么?代码示例似乎不适合您的数据。您的dict值不是列表。请检查我的更新Answer@Eric实际上是一个json数据包。所以我想检查是否每个子类都包含数据,然后返回True或False。@PATCO:是否接受
False
或空字符串作为值?