亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python:如何訪問字典中也在另一個字典中的元素

python:如何訪問字典中也在另一個字典中的元素

jeck貓 2024-01-27 15:54:38
示例字典newlist={1:{1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},        2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},        4: {'_name': 'nicholos', 'id': '004', 'rating': '9', 'role': 'tech_support'}},    2: {1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},        2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}},    3: {1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},        2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},        4: {'_name': 'rogers', 'id': '004', 'rating': '9', 'role': 'tech_support'},        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}},    4: {1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},        4: {'_name': 'gargano', 'id': '004', 'rating': '9', 'role': 'tech_support'},        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}},    5: {2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},        4: {'_name': 'williams', 'id': '004', 'rating': '9', 'role': 'tech_support'},        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}}}for k in range(len(new_list)):    for l in k:        m = new_list[k][role]['tech_support']我想從列表中獲取所有“tech_support”角色。我如何訪問字典中的鍵值,而我也在另一個字典中訪問鍵值
查看完整描述

3 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

# user parameters 

role = 'role'

key = 'tech_support'


# method One

result = []

for i in newlist:

    for j in newlist[i]:

        if newlist[i][j][role] is key:

            result.append(newlist[i][j])


# method two

output = [newlist[i][j] for i in newlist for j in newlist[i] if newlist[i][j][role] is  key]


查看完整回答
反對 回復 2024-01-27
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

這真是一團糟。你應該嘗試另一種方法。但如果你堅持嘗試這個代碼:


new_list={1:{1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},

        2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},

        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},

        4: {'_name': 'nicholos', 'id': '004', 'rating': '9', 'role': 'tech_support'}},

    2: {1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},

        2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},

        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},

        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}},

    3: {1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},

        2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},

        4: {'_name': 'rogers', 'id': '004', 'rating': '9', 'role': 'tech_support'},

        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}},

    4: {1: {'_name': 'michael', 'id': '001', 'rating': '10', 'role': 'general_manager'},

        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},

        4: {'_name': 'gargano', 'id': '004', 'rating': '9', 'role': 'tech_support'},

        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}},

    5: {2: {'_name': 'mohamad', 'id': '002', 'rating': '9.5', 'role': 'team_leader'},

        3: {'_name': 'johnny', 'id': '003', 'rating': '9', 'role': 'developer'},

        4: {'_name': 'williams', 'id': '004', 'rating': '9', 'role': 'tech_support'},

        5: {'_name': 'nawaz', 'id': '005', 'rating': '8.5', 'role': 'intern'}}}


for k in new_list.values():

    for l in k.values():

        for m in l.values():

            if 'tech_support' in m:

                print(l)


查看完整回答
反對 回復 2024-01-27
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

您可以嘗試下面的代碼并查看是否獲得所需的輸出嗎?


for key, val in newlist.items():

    for k1, v1 in val.items():

        if v1['role'] == 'tech_support':

            print(v1)


查看完整回答
反對 回復 2024-01-27
  • 3 回答
  • 0 關注
  • 230 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號