Python笔记22-----高阶函数
1、sorted(排序对象,key=):排序对象可以是类别,也可以是字符串和字典,key为自定义排序,如:【key=abs,按绝对值排序】【key=lambda x:x[1],按排序对象的第二个值排序,若为二维数组,第二维排,若为字典则按值排】
①sorted(排序对象,key=abs):
数值:key=abs 【按照绝对值排序】
字符串:默认按小写到大写排序。key=str.lower【将所有的字符串变成小写再排序】eg: sorted ( ['a','dob','Cold',Zoo'] , key=str.lower ) 结果:【'a' , 'Cold' ,'dob','Zoo'】
字典类型(二维数组):from operator import itemgetter
key=itemgetter(1)
或者
key=lambda x:x[1]
②sorted(排序对象,reverse=True) :逆序排序
2、map(函数,迭代器):对一个迭代器进行同样的函数操作。
如:
list(map(str,[1,2,3,4,5]))
结果:【‘1’,‘2’,‘3’,‘4’,‘5’】这样就可以不用用for来循环处理。
3、reduce(函数,迭代器):对一个迭代器中的每个元素进行迭代运算,如求和、求最大最小值……

4、map和reduce结合使用,将一个字符串'13579'转化成整数13579
from functools import reduce
a=reduce(lambda x,y:x*10+y,map(int,''))
5、filter(函数 f ,迭代器 l ):筛选函数作用,通过函数 f 之后返回的值若为真或有值则返回,若为假或空则不返回该值。
def is_odd(n):
return n % 2 == 1 list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
6、map 和 zip 结合 可以取二维list的每一列的数。
grid = [[0,1,0,0],
[1,1,1,0],
[0,1,0,0],
[1,1,0,0]] for col in map(list, zip(*grid) ): print(col) #结果:[0,1,0,1] #[1,1,1,1] #[0,1,0,0] #[0,0,0,0]
6、map比较两个列表中的数是否相等:
#operator.ne : ne(a,b) 表示 a != b
map(operator.ne , list1,list2)
#list1和list2中对应的值两两对比
Python笔记22-----高阶函数的更多相关文章
- Python 函数式编程 & Python中的高阶函数map reduce filter 和sorted
1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数 ...
- Python中的高阶函数与匿名函数
Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...
- Python入门篇-高阶函数
Python入门篇-高阶函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.高级函数 1>.First Class Object 函数在Python中是一等公民 函数也 ...
- Python学习笔记系列——高阶函数(map/reduce)
一.map #变量可以指向函数,函数的参数能接受变量,那么一个函数就可以接受另一个函数作为参数,这种函数被称之为高阶函数 def add(x,y,f): return f(x)+f(y) print( ...
- 匿名函数python内置高阶函数以及递归
匿名函数 python定义一个函数通常使用def关键词,后面跟函数名,然后是注释.代码块等. def func(): '''注释''' print('from func') 这样就在全局命名空间定义了 ...
- python 常用的高阶函数
前言 高阶函数指的是能接收函数作为参数的函数或类:python中有一些内置的高阶函数,在某些场合使用可以提高代码的效率. map() map函数可以把一个迭代对象转换成另一个可迭代对象,不过在pyth ...
- python中的高阶函数
高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...
- Python高级教程-高阶函数
Higher-order function(高阶函数) 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: >>> abs(-10) 10 但 ...
- python字符串反转 高阶函数 @property与sorted(八)
(1)字符串反转 1倒序输出 s = 'abcde' print(s[::-1]) #输出: 'edcba' 2 列表reverse()操作 s = 'abcde' lt = list(s) lt.r ...
- python 函数式编程 高阶函数 装饰器
# -*- coding:gb2312 -*- #coding=utf-8 # 高阶函数 import math def is_sqr(x): y = int(math.sqrt(x)) return ...
随机推荐
- (4)Spring Boot使用别的json解析框架【从零开始学Spring Boot】
此文章已经废弃,请看新版的博客的完美解决方案: 78. Spring Boot完美使用FastJson解析JSON数据[从零开始学Spring Boot] http://412887952-qq-co ...
- ACDream - k-GCD
先上题目: B - k-GCD Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Sub ...
- 使用excel进行数据挖掘(2)----分析关键影响因素
使用excel进行数据挖掘(2)----分析关键影响因素 在配置环境后,能够使用excel进行数据挖掘. 环境配置问题可參阅: http://blog.csdn.net/xinxing__8185/a ...
- Spark MLlib LDA 基于GraphX实现原理及源代码分析
LDA背景 LDA(隐含狄利克雷分布)是一个主题聚类模型,是当前主题聚类领域最火.最有力的模型之中的一个,它能通过多轮迭代把特征向量集合按主题分类.眼下,广泛运用在文本主题聚类中. LDA的开源实现有 ...
- WPF带cookie get/post请求网页,下载文件,图片,可保持会话状态
直接写成啦一个MyNet.cs类方便使用 get/post方法请求 //get请求 MyNet.SendRequest("http://www.baidu.com"); //pos ...
- Linux学习笔记——例说makefile 索引博文
0.前言 从学习C语言開始就慢慢開始接触makefile.查阅了非常多的makefile的资料但总感觉没有真正掌握makefile,假设自己动手写一个makefile总认为非常吃力.所以特意借 ...
- org.openqa.selenium.NoSuchElementException:
http://www.blogjava.net/qileilove/archive/2014/12/11/421309.html selenium webdriver定位不到元素的五种原因及解决办法 ...
- nginx源代码分析--nginx进程间通信
Linux下的IPC非常多,nginx的进程都是有亲缘关系的进程,对于他们的通信我们选择TCP socket进行通信. TCP socket 用来做进程通信的优点有, 1.socket是文件描 ...
- win7 32位支持多大内存|win7 32位旗舰版最多能识别多少内存
win7 32位支持多大内存|win7 32位旗舰版最多能识别多少内存 内存的大小决定系统运行速度,所以不少人认为只要内存加大就行了,其实这是不对的,因为win7 32位能支持的内存大小是有限制的,并 ...
- 国王的烦恼---nyoj
国王的烦恼 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在 ...