range函数
range函数可创建一个有一定规则的整数列表,函数原型如下:
1 | range(start, end, scan): |
形参含义如下:
start,表示计数从start开始,默认是从0开始,如range(5)等价于range(0, 5)
end,表示计数到end结束,但不包括end,如range(0, 5)是[0, 1, 2, 3, 4]没有5
scan,表示每次跳跃的间距,默认为1,如range(0, 5)等价于range(0, 5, 1)
举例来说:
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(0, 5)
[0, 1, 2, 3, 4]
>>> range(5)
[0, 1, 2, 3, 4]
>>> range(0, 5, 2)
[0, 2, 4]
>>> range(0, -5, -2)
[0, -2, -4]
>>> range(-5)
[]
enumerate函数
enumerate函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个enumerate枚举对象,同时列出数据和数据下标,一般用在for循环当中。举例来说:
1 | seasons = ['Spring', 'Summer', 'Fall', 'Winter'] |
map函数
map(function, sequence)
对sequence中的item依次执行function(item),执行结果组成一个List返回。举例如下:
1 | def cube(x): |
reduce函数
reduce(function, sequence, starting_value)
对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用,例如可以用来对List求和:
1 | def add(x,y): |
filter函数
filter(function, sequence)
对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回。例子如下:
1 | #例1 |
sorted函数
sorted(iterable[, cmp[, key[, reverse]]])
用来对一个可迭代的对象中包含的元素进行排序,返回一个新的List。
其中iterable是必须参数,为一个可迭代的对象。可选的参数有三个,分别是cmp、key和reverse。
(1)cmp参数指定一个定制化的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None。
(2)key参数指定一个获取cmp函数参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None。
(3)reverse是一个布尔值。如果设置为True,列表元素将被倒序排列。
备注:key指定的关键字,用来作为cmp所指定的比较函数中被比较的元素。
1 | def compare_reverse(x, y): #自定义的比较函数 |