我有下面这样的数据,我如何找到 Kevin 和 Jeremy 在 Python3 中拥有的 tool_id。所以我想要这样的结果:4734238, 383744734233, 38374这是清单:assignment = [{ 'id': 4734238, 'name': 'kevin', 'tool': { 'tool_id': '38374', 'new_tab': False, 'resource_link_id': '179fd40f91a5b' }},{ 'id': 4734233, 'name': 'jeremy', 'tool': { 'tool_id': '38374', 'new_tab': False, 'resource_link_id': '179fd40f91a5b' },},{ 'id': 4743233, 'name': 'Sharon',}]
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'))
我希望它更容易理解。
慕桂英546537
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']]
添加回答
举报
0/150
提交
取消