在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']