在列表推导中将列表设置为无

时间:2014-01-08 10:24:06

标签: python list

在下面的代码中,拆分后的任何元素都以'div'结尾,那么它应该是新列表的结果,但现在我得到b = ['']。我的问题是如何使列表为空b = [ ]

a=['1div,2div,3div,4div,5div']

b= [','.join(i for i in a[0].split(',') if not a.endswith('div'))]

2 个答案:

答案 0 :(得分:1)

修复代码中的错误后,您可以执行以下操作:

result = [','.join(i for i in a[0].split(',') if not i.endswith('div'))]
b = result if result[0] else []
#or
result = ','.join(i for i in a[0].split(',') if not i.endswith('div'))
b = [result] if result else []

仅使用一个元素列表就没有任何意义。

答案 1 :(得分:0)

怎么样:

filter(lambda x: not x.endswith('div'), a[0].split(","))