📜  python 从列表中过滤数字 - Python (1)

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

Python:从列表中过滤数字

Python提供了许多方法来过滤列表中的数据。本文将介绍一些常见的方法,可用于过滤数字。

方法一:使用for循环和if语句

这是最基本的方法,我们可以使用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]
方法三:使用filter函数

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]

以上三种方法都可以用于过滤数字,具体使用哪种方法取决于你的代码风格和偏好。