python 的内建函数

时间:2022-09-03 15:22:54

lambda 函数:lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值

1. map/reduce 函数

(1)map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回

''' 将序列中的元素乘方返回 '''
list = map(lambda x:x*x, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print list
''' 将list所有数字转为字符串 '''
list = map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print list

(2)reduce()函数接收两个参数,一个是函数,一个是序列,将序列中的元素通过一个二元函数处理返回一个结果,reduce把结果继续和序列的下一个元素做累积计算

''' 返回所有元素相乘的结果 '''
result = reduce(lambda x, y: x * y, [1, 2, 3, 4, 5])
print result

2. filter 函数:函数接收两个参数,一个是函数,一个是序列,将序列中的元素通过函数过滤后返回一个新的列表

''' 返回序列中的偶数 '''
list = filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print list

3. sorted 函数:函数可以对 list 进行排序,它也可以接收一个比较函数来实现自定义的排序

''' 对 list 进行排序 '''
list = sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], reverse=False)
print list ''' 使用自定义函数对 list 进行逆序排序 '''
def reversed_cmp(x, y):
if x > y:
return -1
if x < y:
return 1
return 0
list = sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], reversed_cmp)
print list