Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • map(fn,iterator)

  • 用指定函数,遍历指定序列,返回新的迭代器

生成迭代器,需要list()方法计算为列表
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • reduce(fn,interator)

  • 用指定函数遍历指定序列,只返回一个数据

函数接受两个参数,为迭代器的前两个元素,计算后返回一个元素,与迭代器下一个元素作为两个参数再次进入函数运算,最后获得一个运算结果
需要from functools import reduce引入模块
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • filter(fn,interator)

  • 指定函数对迭代器做筛选,

函数返回Boolean,只有为True的参数,才会保留构成迭代器
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • 廖雪峰教程的生成1000以内素数

Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • sorted()

  • sorted(list)

排序,默认从大到小排列
sort()sorted()区别,
sort()会修改原列表、只是list内置方法,
sorted()不修改原数据,返回新对象,可用于所有可迭代的数据,dict,list
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • sort(list,key)

key接受一个函数,按指定规则排序
Python学习笔记(十一):高阶函数(一).map、filter、sorted
接收自定义函数
个人理解,按函数的返回值的大小进行排序,相同返回值对应的数据,按绝对值大小排列
Python学习笔记(十一):高阶函数(一).map、filter、sorted
Python学习笔记(十一):高阶函数(一).map、filter、sorted+ ### sorted(list,reverse)
还可传入reverse参数,值为True或False,是否倒序排列
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • 列表字符串

不止可以排序数字,对字符串同样可以排序
按ASCII码大小排列,可设置函数实现忽略大小写
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • 列表dict

只要是列表,都可以排,定好排序规则就好
在(五)中,当初写了一个投票小程序,里面就用了一个这样的排序,当初网上扒下来的,看不懂,现在明白了
Python学习笔记(十一):高阶函数(一).map、filter、sorted

  • dict排序

返回键名的列表形式,默认按键名排序,可自定义按键值排序
Python学习笔记(十一):高阶函数(一).map、filter、sorted
对dict.items()排序
Python学习笔记(十一):高阶函数(一).map、filter、sorted