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

如何通过键和值过滤字典中的列表?

如何通过键和值过滤字典中的列表?

翻阅古今 2022-07-19 15:28:30
我有一本很大的字典,里面有一个叫做交通的列表。这是我的字典的一个小例子:{'redlights': [{'id': 32,'userid': '3','time': '2013-09-T17:12:00+05:00','calls': 1,'crossings': '0','bad_behaviour': '0','senior': False,'cat': False,'dog': True,'hitrun': 'David Williams'},{'id': 384,所以,我把它称为你好作为一个测试。我想要列表红灯中包含“高级”且值为“假”的所有键。我首先尝试了这种 dict 理解来获取所有带有高级的键:hello = traffic['redlights']new = {key: value for key, value in hello.items() if key == senior}但后来我得到了这个错误: AttributeError: 'list' object has no attribute 'items'可能是因为它是一个列表,但我不知道如何获取其中包含高级值且值为 false 的键。它必须在红灯列表中,因为其他列表不相关。我如何在听写理解中做到这一点?
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

hello不是字典,它是(字典的)列表,而列表没有items. 您必须遍历列表中的每个字典。此示例将获取id每个字典的senior=False.

res = [d['id'] for d in hello if not d['senior']]


查看完整回答
反对 回复 2022-07-19
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号