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中针对函数处理的特殊方法的更多相关文章
- Python中print()函数不换行的方法
一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...
- Python 中的函数与类的方法
注:本文转译自 Stackoverflow 上 Adding a Method to an Existing Object 的最佳回答. 在 python 中,def 定义的函数与类中的方法有很大的不 ...
- Python中print()函数不换行的方法以及分隔符替换
一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- Python中异步协程的使用方法介绍
1. 前言 在执行一些 IO 密集型任务的时候,程序常常会因为等待 IO 而阻塞.比如在网络爬虫中,如果我们使用 requests 库来进行请求的话,如果网站响应速度过慢,程序一直在等待网站响应,最后 ...
- Python中利用函数装饰器实现备忘功能
Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下 " ...
- Python中os和shutil模块实用方法集…
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python中os和shutil模块实用方法集锦
Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...
- Python 中的函数
学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...
随机推荐
- 第三方库-正则re
Python正则表达式里的单行re.S和多行re.M模式 Python 的re模块内置函数几乎都有一个flags参数,以位运算的方式将多个标志位相加.其中有两个模式:单行(re.DOTALL, 或者r ...
- CentOS7 安装 RocketMQ 实践和小示例
CentOS7 安装 RocketMQ 实践和小示例 1.通过 SSH 工具(比如 XShell)连接到 CentOS7 服务器上: 2.进入到 /usr/local 目录中: cd /usr/loc ...
- 多个Promise执行顺序
app.isLogin() // 判断是否登录后 .then(res=>{ this.setData({ login: true }, res2=>{ // 清空临时积分 return a ...
- tcpip入门的网络教程汇总
网络编程懒人入门(一):快速理解网络通信协议(上篇) http://www.52im.net/thread-1095-1-1.html TCP/IP详解学习笔记 https://www.cnblogs ...
- Amazon Redshift and the Case for Simpler Data Warehouses
Redshift是Amazon一个商业产品上的进化 但并不是技术的进化,他使用的无非都是传统数仓领域的技术 如果说创新,就是大量使用Amazon本身的云服务的云原生架构,大大提升的产品的迭代速度,可维 ...
- sql 查询列
select 'A' AS A , B ='B'
- PHP四种基本排序
1. 冒泡排序 // 1.冒泡排序法 $array = [12,3,23,2,4,1,0]; function maoPao($arr){ //先判断是不是空数组 if(!empty($arr)){ ...
- 二进制上的数位dpPOJ 3252
Round number POJ - 3252 题目大意:一个"round number" 数的定义是,将它转化成2进制后,0的个数大于等于1的个数,要求的就是在[s,f]范围内& ...
- HDU 5831 Rikka with Parenthesis II ——(括号匹配问题)
用一个temp变量,每次出现左括号,+1,右括号,-1:用ans来记录出现的最小的值,很显然最终temp不等于0或者ans比-2小都是不可以的.-2是可以的,因为:“))((”可以把最左边的和最右边的 ...
- lcx用法
lcx使用方 本机IP:192.168.125.11 目标机IP:192.168.125.101 本机运行: lcx -listen 3333 2222 目标机运行:lcx -slave ...