Python中针对函数处理的特殊方法

很多语言都提供了对参数或变量进行处理的机制,作为灵活的Python,提供了一些针对函数处理的特殊方法

filter(function,
sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple

map(function, sequence)
:对sequence中的item依次执行function(item),见执行结果组成一个List

reduce(function, sequence,
starting_value):对sequence中的item顺序迭代调用function

sum(sequence):对集合中的元素进行累加

下面针对上面的描述写一个简单的小例子:

代码如下:

__author__ = 'Administrator'

from functools import
reduce

#主要用来掩饰map可以将某个序列中的元素传递给某个特殊的函数来处理

def map_demo():

   
#定义一个将字母转换成大写的函数

    def
to_upper(ch):

       
return str(ch).upper()

#对给定字符串中的每个字母应用to_upper函数

   
print(list(map(to_upper, "asdfasdfuasdlaksdjf".split())))

#主要使用一个基于布尔值得函数对元素进行过滤

def filter_demo():

    def
is_alnum(ch):

       
return ch.isalnum()

#!se会被过滤掉

    test_list =
['sdas', '123d', '!se', '孙阿斯蒂芬']

   
#基于具体函数

   
print(list(filter(is_alnum, test_list)))

   
#基于列表推导

    print(list(x
for x in test_list if x.isalnum()))

   
#基于匿名函数

   
print(list(filter(lambda x: x.isalnum(), test_list)))

#reduce的主要功能是利用列表中的两个元素迭代调用某个函数,最后得到一个结果

#在python3中要显示的添加 from functools import reduce

#本例中运行的过程大致是先是1 2=3,利用3 4=7,7 4.......

def reduce_demo():

   
print(reduce(lambda x, y: x y, range(1, 10)))

#利用sum函数累加列表中的值

def sum_demo():

   
print(sum(range(10)))

if __name__ == "__main__":

   
#map_demo()

   
#filter_demo()

   
#reduce_demo()

   
sum_demo()

Python中针对函数处理的特殊方法的更多相关文章

  1. Python中print()函数不换行的方法

    一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...

  2. Python 中的函数与类的方法

    注:本文转译自 Stackoverflow 上 Adding a Method to an Existing Object 的最佳回答. 在 python 中,def 定义的函数与类中的方法有很大的不 ...

  3. Python中print()函数不换行的方法以及分隔符替换

    一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...

  4. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

  5. Python中异步协程的使用方法介绍

    1. 前言 在执行一些 IO 密集型任务的时候,程序常常会因为等待 IO 而阻塞.比如在网络爬虫中,如果我们使用 requests 库来进行请求的话,如果网站响应速度过慢,程序一直在等待网站响应,最后 ...

  6. Python中利用函数装饰器实现备忘功能

    Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下   " ...

  7. Python中os和shutil模块实用方法集…

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  8. Python中os和shutil模块实用方法集锦

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  9. Python 中的函数

    学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...

随机推荐

  1. 第三方库-正则re

    Python正则表达式里的单行re.S和多行re.M模式 Python 的re模块内置函数几乎都有一个flags参数,以位运算的方式将多个标志位相加.其中有两个模式:单行(re.DOTALL, 或者r ...

  2. CentOS7 安装 RocketMQ 实践和小示例

    CentOS7 安装 RocketMQ 实践和小示例 1.通过 SSH 工具(比如 XShell)连接到 CentOS7 服务器上: 2.进入到 /usr/local 目录中: cd /usr/loc ...

  3. 多个Promise执行顺序

    app.isLogin() // 判断是否登录后 .then(res=>{ this.setData({ login: true }, res2=>{ // 清空临时积分 return a ...

  4. tcpip入门的网络教程汇总

    网络编程懒人入门(一):快速理解网络通信协议(上篇) http://www.52im.net/thread-1095-1-1.html TCP/IP详解学习笔记 https://www.cnblogs ...

  5. Amazon Redshift and the Case for Simpler Data Warehouses

    Redshift是Amazon一个商业产品上的进化 但并不是技术的进化,他使用的无非都是传统数仓领域的技术 如果说创新,就是大量使用Amazon本身的云服务的云原生架构,大大提升的产品的迭代速度,可维 ...

  6. sql 查询列

    select 'A' AS A , B ='B'

  7. PHP四种基本排序

    1. 冒泡排序 // 1.冒泡排序法 $array = [12,3,23,2,4,1,0]; function maoPao($arr){ //先判断是不是空数组 if(!empty($arr)){ ...

  8. 二进制上的数位dpPOJ 3252

    Round number POJ - 3252 题目大意:一个"round number" 数的定义是,将它转化成2进制后,0的个数大于等于1的个数,要求的就是在[s,f]范围内& ...

  9. HDU 5831 Rikka with Parenthesis II ——(括号匹配问题)

    用一个temp变量,每次出现左括号,+1,右括号,-1:用ans来记录出现的最小的值,很显然最终temp不等于0或者ans比-2小都是不可以的.-2是可以的,因为:“))((”可以把最左边的和最右边的 ...

  10. lcx用法

    lcx使用方 本机IP:192.168.125.11      目标机IP:192.168.125.101 本机运行: lcx -listen 3333  2222 目标机运行:lcx -slave ...