Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从dict中读取,dict是python中的dict列表_Python - Fatal编程技术网

从dict中读取,dict是python中的dict列表

从dict中读取,dict是python中的dict列表,python,Python,我想检查python dict中键值的条件。我的dict是一个json响应,如下所示: result = {'arc': [{'empid':'S45', 'empname':'abc', 'empage':45, 'status':0, 'location': 'USA'}, {'empid':'S46',

我想检查python dict中键值的条件。我的dict是一个json响应,如下所示:

result = {'arc': [{'empid':'S45',
                   'empname':'abc',
                   'empage':45,
                   'status':0,
                   'location': 'USA'},
                  {'empid':'S46',
                   'empname':'xyz',
                   'empage':34,
                   'status':1,
                   'location': 'USA'},
                  {'empid':'S47',
                   'empname':'oop',
                   'empage':36,
                   'status':1,
                   'location': 'UAE'}
                 ]}
我想检查“status”值,如果为0,则将其替换为“deactivate”。此操作仅适用于“地点”:“美国”

以下是我带来的:

data = result.values()
for i in data:
    for dict in i:
        for item in dict.values():
            print(item) 

请通过迭代每个键:值对来帮助检查条件。

首先,您需要在
结果['arc']
中迭代dict的每个元素,然后如果状态为
0
且位置为
USA
则将元素替换为
'deactivate'

对于结果中的e['arc']:
如果e['location']=='USA'和e['status']==0:
e['status']='deactivate'
打印(结果)

要迭代的列表不是
result.values()
,而是
result['arc']
。您不需要在字典中迭代这些值

for arc in result['arc']:
    if arc['location'] == 'USA' and arc['status'] == 0:
        arc['status'] = 'deactivate'
另外,不要使用
dict
list
作为变量名,它会用这些名称替换内置函数