根据id筛选dict列表

2024-10-04 01:30:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似python的dict列表

[{u'id': 19, u'name': u'SYWSUB'},
 {u'id': 20, u'name': u'SYWSU'},
 {u'id': 40, u'name': u'Others'},
 {u'id': 41, u'name': u'rohit'},
 {u'id': 42, u'name': u'ssc'}]

我想把所有的东西都拿出来,除了那个有身份证42的

意思是我的输出应该是

^{pr2}$

我试过了

other_category = [
    cat for cat in categories if cat['id'] !=  current_course_category ]

其中当前的“课程”类别值为42

但这一个正在返回整个列表

[{u'id': 19, u'name': u'SYWSUB'},
 {u'id': 20, u'name': u'SYWSU'},
 {u'id': 40, u'name': u'Others'},
 {u'id': 41, u'name': u'rohit'},
 {u'id': 42, u'name': u'ssc'}]

请告诉我我可能做错了什么?>


Tags: nameid列表fordictcatotherrohit
2条回答

这就是它应该是怎样的

categories = [{u'id': 19, u'name': u'SYWSUB'},
 {u'id': 20, u'name': u'SYWSU'},
 {u'id': 40, u'name': u'Others'},
 {u'id': 41, u'name': u'rohit'},
 {u'id': 42, u'name': u'ssc'}]

current_course_category = 42
print [cat for cat in categories if cat['id'] != current_course_category]

我希望这有帮助。在

[{key:value}对于key,在_dict.项目()如果钥匙!=42]

这应该行了

相关问题 更多 >