Python 根据id筛选目录列表
我有一个类似python的dict列表Python 根据id筛选目录列表,python,django,Python,Django,我有一个类似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'}] 我想要得到所有的东西,除了一个id为42的 意味着我的输出应该是 [{u'id': 19, u'name': u'SYWSUB'
[{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'}]
我想要得到所有的东西,除了一个id为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'}]
我试过了
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'}]
请告诉我我可能做错了什么?>这是应该做的
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,如果key!=42,则在您的dict.items()中添加value]
这应该可以做到很可能你的
当前课程类别
不是一个整数;我怀疑它可能是一个字符串。什么是当前课程类别?它是什么类型的?如果您的id
值不是整数,或者current\u course\u category
不是整数,则该检查更新的值为42。打印也不会显示差异,请在打印时使用repr()
向您显示有关类型的详细信息。current\u course\u category
是否为整数?如果是,请更改为str(当前课程类别)