map()
map()函数的作用主要是根据函数的要求对序列做映射
- function:是一个函数
- sequence:是一个或多个序列,取决于function需要几个参数
- 返回值是一个list
In [1]: func = lambda x:x**2
In [2]: map(func,[i for i in range(10)])
Out[2]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
reduce()
reduce()函数的作用是会根据序列中的值进行累计
- function:该函数有两个参数
- sequence:序列可以是str,tuple,list
- initial:固定初始值
In [1]: func = lambda x,y:x*10 + y
In [2]: reduce(func,[1,3,5,7,9])
Out[2]: 13579
在Python3里,reduce函数已经被从全局名字空间里移除了, 它现在被放置在fucntools模块里用的话要先引入:
from functools import reduce
filter()
filter()函数的作用主要是对序列做过滤
- function:接受一个参数,返回布尔值True或False
- sequence:序列可以是str,tuple,list
In [2]: filter(lambda x:x%2,[i for i in range(10)])
Out[2]: [1, 3, 5, 7, 9]
sorted()
sorted()函数的作用主要是针对序列做排序
用法:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
In [1]: sorted([3,4,5,1,2,9,0])
Out[1]: [0, 1, 2, 3, 4, 5, 9]
In [2]: sorted([3,4,5,1,2,9,0],reverse=-1)
Out[2]: [9, 5, 4, 3, 2, 1, 0]