一、排序
1、 list自己提供了排序的函数:sort。
2、 sort的参数:
a) cmp是一个比较函数,输入两个元素,比较大小,返回值为-1,0,1.
b) key也是一个函数,入参为一个元素,返回这个元素的关键字。
c) reverse是一个标志位,表示升序还是降序。默认False是升序,True表示降序。
3、使用key和reverse的性能,优于cmp函数。时间是cmp函数的一半。
二、迭代的使用
1、 迭代比直接使用列表遍历效率根据高。比如字典的keys函数返回的列表,以及iterkeys返回的迭代器。
2、 reversed() 内建函数将返回一个反序访问的迭代器.参数必须为序列。
3、 enumerate:返回一个迭代器:有索引值。
4、 for eachLine in myFile 替 换 for eachLine in myFile.readlines() :
5、 注意:在迭代的过程中不可以更改序列,否则会引发问题,导致迭代出错。
6、 可以自己定义一个类,可以迭代使用。不过需要定义方法:iter,next。
7、 filter(function, iterable):可以对迭代使用过滤器。
三、生成器的使用
1、 yield关键字可以阻塞住函数的执行,并且保存当前的执行环境,整个包被称为生成器。
2、 生成器可以通过调用生成器函数来创建。生成器函数是指包含关键字yield的函数。
3、 生成器可以