在python中使用列表理解从列表中删除列表?

在python中使用列表理解从列表中删除列表?,python,list,Python,List,我的清单如下: list = [['ab_c'], ['da_c'], ['da_b']] [] 我想使用列表理解从列表中删除['ab_c']。 由此产生的清单将是: list = [['da_c'], ['da_b']] 我尝试使用以下代码: new_list = [x for x in list if ['da_'] in x] 但打印新的_列表时的输出如下: list = [['ab_c'], ['da_c'], ['da_b']] [] 这是一张空名单。 有人能建议我如何满足

我的清单如下:

list = [['ab_c'], ['da_c'], ['da_b']]
[]
我想使用列表理解从列表中删除['ab_c']。 由此产生的清单将是:

list = [['da_c'], ['da_b']]
我尝试使用以下代码:

new_list = [x for x in list if ['da_'] in x]
但打印新的_列表时的输出如下:

list = [['ab_c'], ['da_c'], ['da_b']]
[]
这是一张空名单。 有人能建议我如何满足上述需求吗?

我将其解释为“选择子列表,其中包含以
da\u
开头的任何字符串”:

当然,如果子列表中始终只有一个元素,则更容易:

new_list = [x for x in list if x[0].startswith('da_')]
我将其解释为“选择子列表,其中包含以
da\u
开头的任何字符串”:

当然,如果子列表中始终只有一个元素,则更容易:

new_list = [x for x in list if x[0].startswith('da_')]
试试这个

lis= [['ab_c'], ['da_c'], ['da_b']]
new_list = [x for x in lis if any(s.startswith('da_') for s in x)]
print new_list
输出:

[['da_c'], ['da_b']]
试试这个

lis= [['ab_c'], ['da_c'], ['da_b']]
new_list = [x for x in lis if any(s.startswith('da_') for s in x)]
print new_list
输出:

[['da_c'], ['da_b']]
试试这个:

list = [['ab_c'], ['da_c'], ['da_b']]
new_list = []
for item in list:
  if 'ab_c' not in item:
    new_list.append(item)

print new_list
试试这个:

list = [['ab_c'], ['da_c'], ['da_b']]
new_list = []
for item in list:
  if 'ab_c' not in item:
    new_list.append(item)

print new_list
输出:

[['da_c'], ['da_b']]
输出:

[['da_c'], ['da_b']]

1) 不要把它当作一个名字。2) 那么
l=l[1:][/code>呢?3) 
'da_'
不在
['da_c']
中。仍然得到一个空列表..1)不要用作名称。2) 那么
l=l[1:][/code>呢?3) 
'da_'
不在
['da_c']
中。仍然得到一个空列表。其中
l=['ab_c'],['da_c'],['da_b']
其中
l=['ab_c'],['da_c'],['da_b']