【发布时间】:2020-03-17 16:08:48
【问题描述】:
ls = [[1], [1, 2], [1, 2, 3], [], [2], [2, 3], [], [], [3]]
是否有任何 python 列表方法可以让我一次删除所有类似的项目。例如,我有一个二维列表“ls”,其中包含三个空列表项 []。我想一次删除所有空列表项。
我知道它可以通过“删除”和“循环”来完成。但是有什么方法可以立即进行操作吗?
简单地说:我希望删除所有的“[]”。因此答案将是这样的。
[[1], [1, 2], [1, 2, 3], [2], [2, 3], [3]]
【问题讨论】:
-
您可以使用
set(ls)来消除重复条目。但这会将列表转换为集合。 -
设置就是答案..
-
您想只删除重复项还是同时删除原始项?换句话说,您要删除三个 1 还是只删除两个?
-
@amanb 是的,设置确实有效。 list(set(ls)) 也将使集合再次列出。但我正在使用二维列表。所以 set 对我不起作用。
-
@Saykat,好的。要求还不清楚。请同时更新问题。
标签: python python-3.x list filter