3 回答

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]

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)

TA貢獻1803條經驗 獲得超6個贊
您可以嘗試下面的代碼并查看是否獲得所需的輸出嗎?
for key, val in newlist.items():
for k1, v1 in val.items():
if v1['role'] == 'tech_support':
print(v1)
添加回答
舉報