大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说Python filter()函数用法,希望您对编程的造诣更进一步.
Python是一种高级编程语言,具有简洁、易读、易于学习和理解的特点。而其中一种非常有用的函数就是filter()函数。在Python中,filter()函数用于从Python列表中过滤具有特定标准的元素,并在新列表中返回它们。本文将详细介绍Python中filter()函数的用法及其示例。
一、简介
filter()函数是Python内置的高阶函数之一,它用于过滤序列,如列表、元组、字典和字符串,筛选出满足条件的元素,并返回一个新的序列。filter()函数接受两个参数,一个是函数,另一个是序列,filter()函数遍历序列中所有元素,对每个元素调用给定的函数,如果函数返回True,则将该元素加入到新的序列中,最后返回这个新的序列。
filter()函数的语法如下所示:
filter(function, iterable)
参数解释:
- function: 过滤函数,该函数接受一个参数并返回布尔值。如果返回True,则表示元素满足条件,被保留下来。
- iterable: 可迭代对象,对其进行过滤。
另外,需要注意的是,Python3中filter()函数返回一个filter对象,而不是列表。
二、示例
1. 过滤列表中的奇数
下面的示例演示如何过滤列表中的奇数。我们定义了一个函数 is_odd(),该函数检查某个数是否为奇数,并将其作为过滤函数传递给filter()函数。然后,我们使用filter()函数过滤出了一个新的序列,该序列只包含输入列表中的奇数。
def is_odd(n): return n % 2 != 0 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9] odd_numbers = list(filter(is_odd,numbers)) print(odd_numbers)
输出结果为:[1, 3, 5, 7, 9]。
2. 过滤字符串中的元音字母
下面的示例演示如何从字符串中过滤出非元音字母。我们定义了一个函数 is_consonant(),该函数检查某个字母是否为辅音字母,并将其作为过滤函数传递给filter()函数。
def is_consonant(letter): vowels = "aeiouAEIOU" return letter not in vowels input_str = "Python filter function" consonants = list(filter(is_consonant,input_str)) print("".join(consonants))
输出结果为:’Pythn fltr fnctn’。
3. 过滤字典中符合条件的元素
下面的示例演示如何从字典中过滤出符合条件的元素。我们定义了一个函数 is_adult(),该函数检查某个键值对是否表示成年人(年龄大于等于18岁),并将其作为过滤函数传递给filter()函数。然后我们使用filter()函数过滤出了一个新的键值对,该键值对只包含输入字典中表示成年人的键值对。
def is_adult(key_value_pair): key, value = key_value_pair return value >= 18 some_dict = {"Peter": 20, "Mary": 15, "John": 18, "Jane": 19} adults = dict(filter(is_adult,some_dict.items())) print(adults)
输出结果为:{‘Peter’: 20, ‘Jane’: 19, ‘John’: 18}。
三、总结
filter()函数是Python内置函数之一,用于过滤序列中的元素,并返回新的序列。filter()函数接受两个参数,一个是过滤函数,另一个是需要过滤的序列。filter()函数返回一个filter对象,可以使用list()函数将其转换为列表。在使用filter()函数时,需要定义过滤函数,该函数接受一个参数,并返回布尔值。如果返回True,则表示元素满足条件,被保留下来。
本文通过几个示例详细介绍了Python中filter()函数的用法,希望能够帮助读者更好地理解和使用该函数。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/21193.html