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']]
添加回答
举报