簡體   English   中英

從 dict 中讀取 python 中的 dict 列表

[英]Read from dict which is a list of dict in python

我想檢查 python 字典中鍵值的條件。 我的 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'值並將其替換為'deactivate',如果它為0。這僅針對'location'執行:'USA'。

這是我帶來的:

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

請幫助了解如何通過遍歷每個鍵:值對來檢查條件。

首先,您需要遍歷result['arc']中字典的每個元素,然后如果狀態為0且位置為USA ,則將元素替換為'deactivate'

for e in result['arc']:
    if e['location'] == 'USA' and e['status'] == 0:
        e['status'] = 'deactivate'
        
print(result)

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

for arc in result['arc']:
    if arc['location'] == 'USA' and arc['status'] == 0:
        arc['status'] = 'deactivate'

另外,不要使用dictlist作為變量名,它會用這些名稱替換內置函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM