`
jythoner
  • 浏览: 608076 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Python内建函数之——filter,map,reduce

阅读更多
原帖地址:http://blog.csdn.net/prince2270/archive/2009/10/16/4681299.aspx  

在讲述filter,map和reduce之前,首先介绍一下匿名函数lambda。

     lambda的使用方法如下:lambda [arg1[,arg2,arg3,...,argn]] : expression

     例如:
add = lambda x,y : x + y
add(1,2)
#************************   
#运行结果
3


     接下来分别介绍filter,map和reduce。

1、filter(bool_func,seq):此函数的功能相当于过滤器。调用一个布尔函数bool_func来迭代遍历每个seq中的元素;返回一个使bool_seq返回值为true的元素的序列。

     例如:

filter(lambda x : x%2 == 0,[1,2,3,4,5])
#************************   
#运行结果   
[2, 4]


     filter内建函数的python实现:

   
def filter(bool_func,seq):   
    filtered_seq = []   
    for eachItem in seq:   
        if bool_func(eachItem):   
            filtered_seq.append(eachItem)   
    return filtered_seq 



2、map(func,seq1[,seq2...]):将函数func作用于给定序列的每个元素,并用一个列表来提供返回值;如果func为None,func表现为身份函数,返回一个含有每个序列中元素集合的n个元组的列表。

    例如:

map(lambda x : None,[1,2,3,4])
#************************   
#运行结果   
[None, None, None, None] 
  
map(lambda x : x * 2,[1,2,3,4])   
#************************   
#运行结果
[2, 4, 6, 8]   

map(lambda x : x * 2,[1,2,3,4,[5,6,7]])   
#************************   
#运行结果
[2, 4, 6, 8, [5, 6, 7, 5, 6, 7]]   

map(lambda x : None,[1,2,3,4]) 
#************************   
#运行结果  
[None, None, None, None] 


     map内建函数的python实现:

    
def map(func,seq):   
    mapped_seq = []   
    for eachItem in seq:   
        mapped_seq.append(func(eachItem))   
    return mapped_seq  


3、reduce(func,seq[,init]):func 为二元函数,将func作用于seq序列的元素,每次携带一对(先前的结果以及下一个序列的元素),连续的将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值:如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素。

     例如:

   
reduce(lambda x,y : x + y,[1,2,3,4])   
#************************   
#运行结果
10   

reduce(lambda x,y : x + y,[1,2,3,4],10) 
#************************   
#运行结果  
20  


     reduce的python实现:

    
 def reduce(bin_func,seq,initial=None):   
    lseq = list(seq)   
    if initial is None:   
        res = lseq.pop(0)   
    else:   
        res = initial   
    for eachItem in lseq:   
        res = bin_func(res,eachItem)   
    return res  

分享到:
评论

相关推荐

    Python内置函数之filter map reduce介绍

    Python内置了一些非常有趣、有用的函数,如:filter、map、reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车。 1. filter函数的功能相当于...

    python高阶函数(csdn)————程序.pdf

    `filter()` 和 `map()` 是 Python 中的两个基本高阶函数,它们可以帮助我们处理序列数据,通过函数来实现复杂的数据转换和筛选,使代码更具有表达力。在实际编程中,还可以结合其他高阶函数如 `reduce()`、`sorted()...

    Python中sorted函数、filter类、map类、reduce函数

    文章目录sorted函数一、sort方法二、sorted内置函数三、情景引入filter类一、简单使用二、练习map类语法:一、简单使用二、练习reduce函数语法:一、简单使用二、设置初始值 Python中使用函数作为参数的内置函数和类...

    Python lambda表达式filter、map、reduce函数用法解析

    Python中的lambda表达式、filter()、map()和reduce()函数是高级编程中常用的工具,它们在处理数据和简化代码方面发挥了重要作用。以下是对这些概念的详细解析: **1. Lambda表达式** Lambda表达式是一种简洁的创建...

    python高阶函数心得笔记,python高阶函数知识.doc

    map 函数是 Python 中的一个内置函数,用于将列表里的每一项数据都执行相同的操作。我们可以使用 map 函数来对列表里的元素进行处理,例如,计算每个学生的平均分。 8. reduce 函数 reduce 函数是 Python 中的一个...

    详解python中三种高阶函数(map,reduce,filter).pdf

    本文将详细探讨Python中的三种高阶函数:map()、filter()和reduce()。 1. **map()函数**: map()函数的主要功能是将一个函数作用于一个或多个序列的所有元素上,并返回一个新的可迭代对象,该对象包含应用函数后的...

    Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法实例分析

    本文实例讲述了Python函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数用法。分享给大家供大家参考,具体如下: 函数的返回值: 函数一旦执行到 return,函数就会结束,并会返回return 后面的值,...

    初学者python笔记(匿名函数、map()函数、reduce()函数、filter()函数)

    在Python编程语言中,匿名函数、`map()`、`reduce()`和`filter()`函数是非常重要的概念,特别是对于初学者来说,理解这些函数的用途和用法对于提升编程能力至关重要。 匿名函数,通常以`lambda`关键字定义,它是一...

    Python函数式编程(第2版)1

    高阶函数是函数式编程的基石之一,第5章深入讲解了`map()`、`filter()`等经典函数,以及如何创建自定义的高阶函数。递归和归约是函数式编程中的核心概念,第6章详细介绍了如何使用递归来设计算法,以及如何通过归约...

    Python之map和reduce共5页.pdf.zip

    总的来说,“Python之map和reduce”这份文档很可能会涵盖如何使用这两个函数,以及它们在不同场景下的应用实例。通过学习和掌握`map()`和`reduce()`,你可以在Python编程中提升效率,编写出更加简洁且高效的代码。

    Python之匿名函数共2页.pdf.zip

    3. **使用场景**:在Python中,lambda函数常用于需要快速定义简短函数的地方,如作为其他函数的参数,如map(), filter()和reduce()。例如,`map(lambda x: x*2, [1, 2, 3])`将列表中的每个元素乘以2。 4. **对比def...

    Python基础学习之常见的内建函数整理

    本文将深入探讨其中的几个关键内建函数:`map()`、`reduce()` 和 `filter()`。 1. **map()**: `map()` 函数接收两个参数,一个是可以执行的操作(通常是函数),另一个是可迭代对象,如列表、元组等。它将传入的...

    Python实验二 函数式编程实验.doc

    在Python中,map()、filter()和reduce()等函数返回的迭代器可以延迟计算,提高效率。 通过这个实验,我们不仅了解了函数式编程的基本思想,还掌握了在实际编程中如何运用这些工具来解决问题。这有助于提升代码的...

    python-传递函数.docx

    函数传递在数据处理和分析库如Pandas和NumPy中广泛应用,如`map()`、`filter()`和`reduce()`等函数,它们接受函数作为参数,对数据集进行操作。 总之,Python的函数传递特性是其强大功能的关键组成部分,它允许...

    简单了解python filter、map、reduce的区别

    这篇文章主要介绍了简单了解python filter、map、reduce的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中有一些非常有趣的函数,面试的时候可能...

    python- 笔记 高阶函数map reduce fileter

    在Python中,有三个重要的高阶函数:`map()`、`reduce()` 和 `filter()`,它们在处理数据时非常有用。下面将详细解释这三个函数以及它们的用法。 1. `map()` 函数: `map()` 函数用于遍历一个可迭代对象(如列表、...

    Python map和reduce函数用法示例

    在Python编程中,map()和reduce()是两个非常有用的高阶函数。它们通常用于对序列进行操作,map()用于将函数应用于序列的每个元素,而reduce()用于将序列中的元素“累积”到单个值。 ### map函数用法 map()函数将...

    python常用函数

    `map()` 是 Python 内置的高阶函数之一,用于将指定的函数应用于序列中的每一个元素,从而生成一个新的序列。这对于批量处理数据非常有用。 **语法:** ```python map(function, iterable, ...) ``` - `function`...

    Python列表list常用内建函数实例小结

    本篇文章将深入探讨Python列表的常用内建函数,这些函数可以帮助我们更高效地处理列表数据。 1. `shuffle()` 函数:用于随机打乱列表中的元素顺序。如示例所示,`random.shuffle(x)` 将列表 `x` 的元素顺序打乱。 ...

Global site tag (gtag.js) - Google Analytics