📅  最后修改于: 2023-12-03 15:04:14.195000             🧑  作者: Mango
Python提供了许多方法来过滤列表中的数据。本文将介绍一些常见的方法,可用于过滤数字。
这是最基本的方法,我们可以使用for循环和if语句来过滤数字。
numbers = [1, 2, "three", 4, "five", 6, 7.0, 8]
filtered_numbers = []
for num in numbers:
if isinstance(num, int) or isinstance(num, float):
filtered_numbers.append(num)
print(filtered_numbers) # [1, 2, 4, 6, 7.0, 8]
Python中使用列表推导式来简化代码。我们可以将上面的代码用列表推导式来实现。
numbers = [1, 2, "three", 4, "five", 6, 7.0, 8]
filtered_numbers = [num for num in numbers if isinstance(num, int) or isinstance(num, float)]
print(filtered_numbers) # [1, 2, 4, 6, 7.0, 8]
Python中有一个内置函数filter可以用于过滤列表中的元素。我们可以定义一个函数来判断元素是否为数字,然后将此函数传递给filter函数即可。
def is_number(num):
return isinstance(num, int) or isinstance(num, float)
numbers = [1, 2, "three", 4, "five", 6, 7.0, 8]
filtered_numbers = list(filter(is_number, numbers))
print(filtered_numbers) # [1, 2, 4, 6, 7.0, 8]
以上三种方法都可以用于过滤数字,具体使用哪种方法取决于你的代码风格和偏好。