📜  Python|从列表中删除无值(1)

📅  最后修改于: 2023-12-03 15:34:17.788000             🧑  作者: Mango

Python | 从列表中删除无值

在编写 Python 程序时,我们经常需要从列表中删除无值的项。这可以避免意外错误和问题。本文将介绍如何使用 Python 从列表中删除无值。

列表删除无值方法

Python 的列表内置函数 remove() 可以用来删除列表中的指定元素,但是如果列表中不存在该元素,便会抛出 ValueError 异常。我们可以使用循环遍历列表中的每个元素,并检查其是否为无值,如果是,则使用 remove() 函数将其从列表中删除。

test_list = [1, 2, 3, "", 4, None, 5, [], 6, {}]
for item in test_list:
    if not item:
        # 删除空元素
        test_list.remove(item)

print(test_list)
筛选法删除无值

筛选法是另一种从列表中删除无值的方法。它使用 Python 的内置函数 filter() 从列表中删除无值。filter() 函数需要两个参数:第一个参数为函数,该函数用于检查列表中的每个元素;第二个参数是列表,该列表将被检查和筛选。

test_list = [1, 2, 3, "", 4, None, 5, [], 6, {}]
new_list = list(filter(None, test_list))

print(new_list)

我们可以在 filter() 函数中使用 None 函数作为参数,该函数用于删除列表中的无值项。筛选法是一种简单、快速且可读性强的方法,非常适合从大型列表中删除空项。

列表推导式删除无值

列表推导式是 Python 中的一种非常强大和流行的编程技巧。使用列表推导式,我们可以更方便地创建和操作列表。我们可以使用列表推导式从列表中删除无值。

test_list = [1, 2, 3, "", 4, None, 5, [], 6, {}]
new_list = [item for item in test_list if item]

print(new_list)

代码片段:

```python
test_list = [1, 2, 3, "", 4, None, 5, [], 6, {}]
for item in test_list:
    if not item:
        # 删除空元素
        test_list.remove(item)

print(test_list)

test_list = [1, 2, 3, "", 4, None, 5, [], 6, {}]
new_list = list(filter(None, test_list))

print(new_list)

test_list = [1, 2, 3, "", 4, None, 5, [], 6, {}]
new_list = [item for item in test_list if item]

print(new_list)