我有名单
combi_col = [[0,1,2][0,1],[0],[1,2],[0,2],[1,2,3],[2,3],[3,1]
我想筛选此列表,以便仅显示数组中仅包含0的列表结果应仅保留列表中包含0的所有数组此外,数组不应仅包含1个值。它应至少包含2个值结果应如下所示
result = [[0,1,2][0,1],[0,2]]
gkl3eglg1#
你可以通过列表解析在一行中完成:
[x for x in combi_col if 0 in x and len(x) >= 2] #[[0, 1, 2], [0, 1], [0, 2]]
ivqmmu1c2#
你可以试试这样的方法:
combi_col = [[0,1,2],[0,1],[0],[1,2],[0,2],[1,2,3],[2,3],[3,1]] result = [] for entry in combi_col: if 0 in entry and len(entry) >= 2: result.append(entry)
rjee0c153#
您可以使用内置过滤器:
filtered = list(filter(lambda list_element: 0 in list_element and len(list_element)>1, combi_col))
第一个参数是用于筛选的函数,第二个参数是要筛选的集合。
wz3gfoph4#
来自NiiRexo的答案是正确的,但是您可以使用列表解析在一行中完成相同的操作:
result = [nested_list for nested_list in combi_col if len(nested_list)>1 and (0 in nested_list)]
8zzbczxx5#
列表= [[0,1,2],[0,1],[0],[1,2],[0,2],[1,2,3],[2,3],[3,1]]结果= []对于列表中的i:如果i中为0且len(i)≥ 2:结果。附(i)
db2dz4w86#
要过滤列表并得到所需的结果,可以使用列表解析和in运算符来检查每个子列表中是否存在元素0,并使用len函数来检查子列表中是否有多个元素。下面是一个示例,说明如何执行此操作:
result = [x for x in combi_col if 0 in x and len(x) > 1]
这将创建一个名为result的新列表,它只包含combi_col中满足以下两个条件的子列表:它们包含元素0并且它们具有多个元素。结果列表将为:
6条答案
按热度按时间gkl3eglg1#
你可以通过列表解析在一行中完成:
ivqmmu1c2#
你可以试试这样的方法:
rjee0c153#
您可以使用内置过滤器:
第一个参数是用于筛选的函数,第二个参数是要筛选的集合。
wz3gfoph4#
来自NiiRexo的答案是正确的,但是您可以使用列表解析在一行中完成相同的操作:
8zzbczxx5#
列表= [[0,1,2],[0,1],[0],[1,2],[0,2],[1,2,3],[2,3],[3,1]]结果= []
对于列表中的i:如果i中为0且len(i)≥ 2:结果。附(i)
db2dz4w86#
要过滤列表并得到所需的结果,可以使用列表解析和in运算符来检查每个子列表中是否存在元素0,并使用len函数来检查子列表中是否有多个元素。
下面是一个示例,说明如何执行此操作:
这将创建一个名为result的新列表,它只包含combi_col中满足以下两个条件的子列表:它们包含元素0并且它们具有多个元素。结果列表将为: