📅  最后修改于: 2023-12-03 15:34:17.788000             🧑  作者: Mango
在编写 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)