Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表理解中将列表设置为无_Python_List - Fatal编程技术网

Python 在列表理解中将列表设置为无

Python 在列表理解中将列表设置为无,python,list,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'))] 修复代码中的错误后,您可以执行以下操作: result = [','.join(i for i in a[0].split(',') if not i.endsw

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

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

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

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

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 []
在这里只使用一个元素列表没有任何意义。

那么:

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

为什么要处理一个只有一个字符串的列表?您不能只在一条语句中执行您想要的操作,因为您总是在这里使用
,'.join()
生成字符串值。您有一个包含一个元素的列表。。。你想在那个元素上做操作,而不是列表本身…@Rajeev lists没有
a.endswith('div')
方法。而且,显然你不想列表是空的。我看你就是问这个问题的那个人。为什么您仍在使用这种无意义的数据表示?为什么有代码将数据从一个合理的项目列表转换为奇怪的、巨大的字符串?