如何从Python中的列表中删除“”

Qiu*_*Bie 5 python list pandas

我有带有列表的 df 列。每个看起来都像[1,2,3,4,'',6,7],[2,3,'',5,6]。我想删除''每一行中的。我用了

df[column].apply(lambda x: x.remove(''))
Run Code Online (Sandbox Code Playgroud)

但这没有用。有人可以帮助我吗?谢谢

ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)

Abh*_*ate 2

如果您有一个列表,您可以在其上使用过滤器来过滤掉您不希望出现在列表中的元素,如下所示 -

my_list = [1,2,3,4,'',6,7]
my_list = list(filter(lambda x : x!='',my_list))
print(my_list)
Run Code Online (Sandbox Code Playgroud)

输出 :

[1, 2, 3, 4, 6, 7]
Run Code Online (Sandbox Code Playgroud)

这也可以使用地图轻松扩展为二维列表。我们基本上只会将第一个函数应用于二维列表的每个元素,如下所示 -

my_list = [[1,2,3,4,'',6,7],[2,3,'',5,6]]
my_list = list(map(lambda sub_list:list(filter(lambda x : x!='',sub_list)),my_list))
print(my_list)
Run Code Online (Sandbox Code Playgroud)

输出 :

[[1, 2, 3, 4, 6, 7], [2, 3, 5, 6]]
Run Code Online (Sandbox Code Playgroud)