Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据id筛选目录列表_Python_Django - Fatal编程技术网

Python 根据id筛选目录列表

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'

我有一个类似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': 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(当前课程类别)