手记

python 常用的内置高阶函数

  1. map() 接收一个函数f和list,并通过吧函数作用在list的每个元素上,得到一个新的list并返回
#!/usr/bin/env python
# -*- coding:utf-8 -*-

def f(x):
    return x*x

li = map(f,[1,2,3,4,5])
print(li)

li = map(lambda x:x*x,[2,3,4,5,6])
print(li)
  1. reduce()
    接收一个函数f,一个list,f必须接收两个参数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
li = reduce(lambda x,y:x*y,[1,2,3,4,5,6],1)
print (li)

相当于 12345*6 默认初始值为1

  1. filter()
    接收一个函数f,一个list,f的作用是对每个元素进行判断,返回True或False,过滤不符合条件的数据
#!/usr/bin/env python
# -*- coding:utf-8 -*-
li = filter(lambda x:x>0,[-1,-3,2,3,4,-5,10])
print(li)

[2,3,4,10]

  1. sorted()
    对list进行排序,可以接受一个比较函数来实现自定义排序,传入排序规则
#!/usr/bin/env python
# -*- coding:utf-8 -*-
def reversed_cmp(x,y):
    return y - x
# 可以做 一个对象属性的比较
li = sorted([1,2,3,10,4,6,12],reversed_cmp)
print(li)
"""
[12, 10, 6, 4, 3, 2, 1]
"""
0人推荐
随时随地看视频
慕课网APP