Python3中的高阶函数(map,reduce,filter,sorted)
2017-12-16 09:39
651 查看
一,map
def f(x):#map
return x*x
print(list(map(f,[1,2,3,4,5])))#将f函数作用于list的每一个元素
print(list(map(str,[1,2,3])))#将整数转为字符串二、reduce
def mul(x,y):
return x*y;
print(reduce(mul,[1,2,3,4,5,6]))#累计求积三、filter
和
def is0dd(n):
return n%2==0
print(list(filter(is0dd,[1,2,3,4,5,6])))#过滤偶数四、sorted
map()函数接收两个参数,一个是函数,一个是
Iterable,
map将传入的函数依次作用到序列的每个元素,并把结果作为新的
Iterator返回,实际就是数学中的给定函数和变量求值
def f(x):#map
return x*x
print(list(map(f,[1,2,3,4,5])))#将f函数作用于list的每一个元素
print(list(map(str,[1,2,3])))#将整数转为字符串二、reduce
reduce把一个函数作用在一个序列
[x1, x2, x3, ...]上,这个函数必须接收两个参数,
reduce把结果继续和序列的下一个元素做累积计算
def mul(x,y):
return x*y;
print(reduce(mul,[1,2,3,4,5,6]))#累计求积三、filter
和
map()类似,
filter()也接收一个函数和一个序列。和
map()不同的是,
filter()把传入的函数依次作用于每个元素,返回值是
True则保留,否则舍弃
def is0dd(n):
return n%2==0
print(list(filter(is0dd,[1,2,3,4,5,6])))#过滤偶数四、sorted
elements=[(2,12,"A"),(1,11,"N"),(1,3,"L"),(2,4,"B")] print(sorted(elements))#[(1, 3, 'L'), (1, 11, 'N'), (2, 4, 'B'), (2, 12, 'A')] elements.sort() print(elements)#注意此处不能写成print(elements.sort()operator模块中的itemgetter()函数,用于获取对象的哪些维的数据
from operator import itemgetter L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] print(sorted(L,key=itemgetter(0)))#按名字排序 print(sorted(L,key=itemgetter(1),reverse=True))#按成绩从高到低排序排序中除了应用itemgetter外还可以用内置函数lambda
elements=[(2,12,"A"),(1,11,"N"),(1,3,"L"),(2,4,"B")]print(sorted(elements,key=lambda e:e[1:]))#通过切片的方式 按后两个元素排序print(sorted(elements,key=lambda e:(e[1],e[2])))#直接指定,必须用()括起来
相关文章推荐
- Python 函数式编程--高阶函数Map、Reduce、Filter、Sorted
- Python学习2--高阶函数map、reduce、filter、sorted
- Python教程学习简记8--Python 高阶函数 map/reduce filter sorted
- python 高阶函数 map reduce filter sorted 闭包 装饰器
- Python高阶函数——map/reduce/filter/sorted
- python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
- python——高阶函数——map reduce filter sorted
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊
- python学习(9)高阶函数map、reduce、filter、sorted
- Python学习(八)——map、reduce、filter、sorted
- Java 高阶函数的简单使用:map,reduce,filter,sorted
- map reduce filter sorted (高阶函数)
- Python高阶函数(Map、Reduce、Filter)
- Python 几个内建函数: map, reduce,filter,sorted 整理
- python高阶函数之lambda,map,reduce,filter
- python笔记【map(),reduce(),filter(),sorted()】
- Python学习 Day 5 高阶函数 map/reduce filter sorter 返回函数 匿名函数 装饰器 偏函数
- [py][lc]python高阶函数(匿名/map/reduce/sorted)
- Python高阶函数:filter、map、reduce、lambda
- 【转】python的内建函数:filter,map,reduce,lambda,sorted等