为了账号安全,请及时绑定邮箱和手机立即绑定

从python3中的嵌套字典列表中打印项目

从python3中的嵌套字典列表中打印项目

蛊毒传说 2021-06-16 15:01:11
我有下面这样的数据,我如何找到 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


查看完整回答
反对 回复 2021-06-22
?
尚方宝剑之说

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'))

我希望它更容易理解。


查看完整回答
反对 回复 2021-06-22
?
慕桂英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']]


查看完整回答
反对 回复 2021-06-22
  • 3 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信