Python 如何筛选不同长度的列表列表
我有一份清单:Python 如何筛选不同长度的列表列表,python,Python,我有一份清单: first_list = [[grass], [grass], [grass, woodland], [grass, woodland, deer], [grass, deer], [grass, woodland]] new_list = [[grass], [grass], [grass, deer]] 我想过滤掉那些包含“woodland”类的列表,这样我就有了一个新的列表: first_list = [[grass], [grass], [grass, woodlan
first_list = [[grass], [grass], [grass, woodland], [grass, woodland, deer], [grass, deer], [grass, woodland]]
new_list = [[grass], [grass], [grass, deer]]
我想过滤掉那些包含“woodland”类的列表,这样我就有了一个新的列表:
first_list = [[grass], [grass], [grass, woodland], [grass, woodland, deer], [grass, deer], [grass, woodland]]
new_list = [[grass], [grass], [grass, deer]]
最好的方法是什么?以下是我尝试过的,我认为它不起作用,因为列表中的列表长度不同:
no_woodland_alone = [obj for obj in first_list if not isinstance(obj, woodland)]
假设isinstance(woodland,woodland)
首先是真的,问题是您正在检查列表,而不是它的成员
no_woodland_only=[obj代表第一个_列表中的obj,如果没有(i实例(x,woodland)代表obj中的x)]
如果这不是真的,也许你的意思是
no_woodland_only=[obj代表第一个_列表中的obj,如果没有(x==obj中x的林地)]
如果有不同的方法来检查是否应选择某个成员,则进行必要的修改。当我做林地分类:通行证
,草地分类:通行证
等,并将你的第一个列表
分配给你所说的内容时,这一条对我有效
(如果不明显,
isinstance(woodland(),woodland)
是True
;isinstance(woodland,woodland)
是woodland
应该是一个实例、一个类还是一个字符串?对不起,这是一个类no\u woodland\u单独=[[o代表o在obj中,如果不是isinstance(o,woodland)])代表obj在第一个清单中]
?