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 函数由多条语句组成.在定义函数 ...
随机推荐
- List集合删除方法
class Program { private static Random random = new Random((int)DateTime.Now.Ticks); static void Main ...
- Excel种的数据类型研究【原创】【精】
因为要做一个项目,开始研究Excel种的数据类型.发现偌大的一个cnblogs竟然没人写这个,自己研究以后记录下来. 在我们通常的认识中,Excel中的数据类型有这么几种 1.常规:2.数值:3.货币 ...
- TF启程
我第一次开始接触到TensorFlow大概是去年五月份,大三下,如果一年多已过,我却还在写启程..这进度,实在汗颜.. 一个完整的tensorflow程序可以分为以下几部分: Inputs and P ...
- 合并K个sorted list
合并k个已经排好序的数列是面试中也比较容易被问到的一个算法,有很多种解决,其中第一时间比较容易想到的解法如下: 对于这三组从小到大的数列: 如此循环,最终就将三个已经排序的数列的数字按从小到大的顺序排 ...
- 【XDOJ】小W的塔防
原题: 小W在成功拿到iPhone后,下载了一个塔防游戏.游戏的目标是阻止僵尸穿过地图. 地图可以看作一条长度为n的线段,这条线段被划分为n条单位长度的小线段.僵尸需要花费t秒才能通过一条小线段.在每 ...
- kudu安装
安装前提和准备: 硬件: 一台或者多台机器跑kudu-master.建议跑一个master(无容错机制).三个master(允许一个节点运行出错)或者五个master(允许两个节点出错). 一台或者多 ...
- easypoi 版本依赖关系
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactI ...
- linux命令集锦 基于centos7---优化linux的命令
sed -i ‘s###g’ /etc/selinux/config 3个# 用于更改selinux配置文件:sed -i 's#SELINUX=enforcing#SELINUX=disabled ...
- Ubuntu下python开发环境搭建
配置语言 1) 依次点击设置--Region & Language--Manage Installed Languages --install/remove language--chinese ...
- SQL CASE Syntax
CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE ...