引言
Python是一种高级编程语言,它具有简单易学、可读性强、功能强大等特点,广泛应用于各种领域。其中,Python3 filter() 函数是一种非常有用的函数,它可以帮助你快速过滤出你想要的数据。
Python3 filter() 函数的概念
Python3 filter() 函数是Python内置的过滤函数,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象。该函数的语法格式如下:
filter(function, iterable)
其中,function是一个函数,用于判断每个元素是否符合条件;iterable是一个可以迭代的序列,如list、tuple、set、字符串等。
Python3 filter() 函数的用法
下面通过一些实例来演示Python3 filter() 函数的用法。
实例1:过滤出偶数
下面的代码演示了如何使用Python3 filter() 函数过滤出一个list中的偶数:
# 定义一个函数,用于判断是否为偶数 def is_even(n): return n % 2 == 0 # 定义一个list nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 使用filter()函数过滤出偶数 result = filter(is_even, nums) # 输出结果 print(list(result)) # [2, 4, 6, 8, 10]
在上面的代码中,我们首先定义了一个函数is_even(),用于判断一个数是否为偶数。然后定义了一个list nums,其中包含了1到10这10个数。接着,我们使用filter()函数过滤出nums中的偶数,并将结果保存在result中。最后,我们将result转换为list并输出。
实例2:过滤出长度大于等于5的字符串
下面的代码演示了如何使用Python3 filter() 函数过滤出一个列表中长度大于等于5的字符串:
# 定义一个函数,用于判断字符串的长度是否大于等于5 def is_long_enough(s): return len(s) >= 5 # 定义一个列表 words = ['apple', 'banana', 'orange', 'pear', 'watermelon'] # 使用filter()函数过滤出长度大于等于5的字符串 result = filter(is_long_enough, words) # 输出结果 print(list(result)) # ['apple', 'banana', 'orange', 'watermelon']
在上面的代码中,我们首先定义了一个函数is_long_enough(),用于判断一个字符串的长度是否大于等于5。然后定义了一个列表words,其中包含了若干个字符串。接着,我们使用filter()函数过滤出words中长度大于等于5的字符串,并将结果保存在result中。最后,我们将result转换为list并输出。
实例3:过滤出年龄大于等于18岁的人
下面的代码演示了如何使用Python3 filter() 函数过滤出一个字典列表中年龄大于等于18岁的人:
# 定义一个字典列表,每个字典包含一个人的姓名和年龄 persons = [{'name': 'Tom', 'age': 20}, {'name': 'Jerry', 'age': 16}, {'name': 'Mike', 'age': 25}, {'name': 'John', 'age': 18}, {'name': 'Jane', 'age': 22}] # 定义一个函数,用于判断一个人的年龄是否大于等于18岁 def is_adult(person): return person['age'] >= 18 # 使用filter()函数过滤出年龄大于等于18岁的人 result = filter(is_adult, persons) # 输出结果 for person in result: print(person['name']) # Tom, Mike, John, Jane
在上面的代码中,我们首先定义了一个字典列表persons,其中每个字典包含一个人的姓名和年龄。然后定义了一个函数is_adult(),用于判断一个人的年龄是否大于等于18岁。接着,我们使用filter()函数过滤出persons中年龄大于等于18岁的人,并将结果保存在result中。最后,我们遍历result并输出每个人的姓名。
总结
本文介绍了Python3 filter() 函数的概念和用法,并通过实例演示了如何使用该函数过滤出你想要的数据。通过学习本文,你可以更好地理解Python编程语言,并掌握Python3 filter() 函数的使用。