3 回答

TA貢獻1757條經驗 獲得超7個贊
這將獲得所有ids和tool_ids擁有它們的人
l = [(person['id'], person['tool']['tool_id']) for person in assignment
if 'id' in person and 'tool' in person and 'tool_id' in person['tool']]
for pair in l:
print(*pair, sep=', ')
印刷
4734238, 38374
4734233, 38374

TA貢獻1788條經驗 獲得超4個贊
assignment = [
{ 'id': "1001",'name': "kevin", 'tool': {'tool_id': '38374'}},
{ 'id': "1002", 'name': "jeremy", 'tool': {'tool_id': '38378'}}
]
findThis = ['kevin', 'jeremy']
for each in assignment:
if each.get('name') in findThis:
t = each.get('tool')
print(each.get('id'), t.get('tool_id'))
我希望它更容易理解。

TA貢獻1848條經驗 獲得超10個贊
這應該這樣做:
[[i.get('id'), i.get('tool').get('tool_id')] for i in assignment if i.get('name') in ['kevin','jeremy']]
對于此示例,返回:
[[4734238, '38374'], [4734233, '38374']]
添加回答
舉報