博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python针对函数处理的特殊方法
阅读量:5931 次
发布时间:2019-06-19

本文共 1385 字,大约阅读时间需要 4 分钟。

hot3.png

( Python  ) 内置了一些非常有趣但非常有用的函数,充分体现了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可以将某个序列中的元素传递给某个特殊的函数来处理#脚本学堂 www.jbxue.comdef 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()

转载于:https://my.oschina.net/softsky/blog/205773

你可能感兴趣的文章
WebApi系列~HttpClient的性能隐患
查看>>
【微信小程序】再次授权地理位置getLocation+openSetting使用
查看>>
Jsp页面,结果集分页和sql(top)分页的性能对比
查看>>
ML之监督学习算法之分类算法一 ——— 决策树算法
查看>>
VMWare------启动虚拟机时出现“start booting fron CD... Error loading image:DFEAULT.EZB”提示...
查看>>
C# 并行任务——Parallel类
查看>>
SQL Server AlwaysOn架构及原理
查看>>
17-spring学习-AOP初步实现
查看>>
mysql中实现分类汇总功能
查看>>
Day5费用流
查看>>
前端MVC Vue2学习总结(八)——Vue Router路由、Vuex状态管理、Element-UI
查看>>
PL/SQL学习笔记之基本块格式与语法
查看>>
手机端上传图片及java后台接收和ajaxForm提交
查看>>
[Javascript] Required function arguments in Javascript
查看>>
067——VUE中vue-router之使用transition设置酷炫的路由组件过渡动画效果
查看>>
如何正确的重写equals() 和 hashCode()方法
查看>>
SqlServer 复制中将大事务分成小事务分发
查看>>
vue 之webpack打包工具的使用
查看>>
一道360 crackme的详细分析
查看>>
我的2017小结
查看>>