内建函数,可以直接使用,而不需要import。
在前面章节学过的sorded()、reversed()、range(),filter()、reduce()、map()等内建函数,下面再回顾下及学习一些新的内置函数。
函数 |
描述 |
示例 |
sorded(iterable, cmp=None, key=None, reverse=False) | 正序排序可迭代对象,生成新的列表 |
>>> lst = [2,3,4,1,5] >>> sorted(lst) [1, 2, 3, 4, 5] 对字典value排序: >>> dict = {'a':86, 'b':23, 'c':45} >>> sorted(dict.iteritems(), key=lambda x:x[1], reverse=True) [('a', 86), ('c', 45), ('b', 23)] |
reversed(sequence) | 反向排序序列,返回一个可迭代对象 |
>>> lst = [1,2,3,4,5] >>> lst2 = [] >>> for i in reversed(lst): ... lst2.append(i) ... >>> lst2 [5, 4, 3, 2, 1] |
range(start, stop[, step]) | 生成整数列表 |
>>> range(0,5) [0, 1, 2, 3, 4] >>> range(0,5, 2) [0, 2, 4] |
xrange(start, stop[, step]) | 生成可迭代对象,比range节省内存资源 |
>>> type(xrange(0,5)) <type 'xrange'> >>> for i in xrange(0,5): ... print i ... 0 1 2 3 4 |
filter(function or None, sequence) | 将序列中的元素通过函数处理返回一个新列表、元组或字符串 |
例如:过滤列表中的奇数 >>> lst = [1,2,3,4,5] >>> filter(lambda x:x%2==0, lst) [2, 4] |
reduce(function, sequence[, initial]) | 二元运算函数,所以只接受二元操作函数 |
例如:计算列表总和 >>> lst = [1,2,3,4,5] >>> reduce(lambda x,y:x+y, lst) 15 先将前两个元素相加等于3,再把结果与第三个元素相加等于6,以此类推 |
map(function, sequence[, sequence, ...]) | 将序列中的元素通过函数处理返回一个新列表 |
>>> lst = [1,2,3,4,5] >>> map(lambda x:str(x)+".txt", lst) ['1.txt', '2.txt', '3.txt', '4.txt', '5.txt'] |
len(object) | 返回序列的数量 |
>>> len([1,2,3]) 3 |
abs(number) | 返回参数的绝对值 |
>>> abs(-2) 2 |
eval(source[, globals[, locals]]) | 把字符串当成Python表达式处理并返回计算结果 |
>>> a = '1 + 2' >>> eval(a) 3 |
repr(object) | 把象转为字符串表示 |
>>> repr(3) '3' >>> repr('1+2') "'1+2'" |
round(number[, ndigits]) | number四舍五入计算,返回浮点数。ndigits是保留几位小数 |
>>> round(1.6) 2.0 |
min(iterable[, key=func]) min(a, b, c, ...[, key=func] |
返回最小项。可以是可迭代对象,也可以是两个或两个以上参数。 |
>>> min([1,2,3]) 1 >>> min('a', 'b', 'c') 'a' |
max(iterable[, key=func]) max(a, b, c, ...[, key=func]) |
返回最大项。与min使用方法一样。 | |
sum(sequence[, start]) | 返回序列合,start在计算结果上加的数 |
>>> sum([1,2,3]) 6 |
isinstance(object, class-or-type-or-tuple) | 判断object类型,返回布尔值 |
>>> isinstance([1,2,3],list) True >>> isinstance([1,2,3],tuple) False |
hex(number) | 返回整数十六进制表示 |
>>> hex(18) '0x12' |
zip(seq1 [, seq2 [...]]) | 返回一个合并的列表元组,每个元组里面是每个seq对应的下标值,在长度最短的seq结束。 |
>>> zip(range(5),['a','b','c']) [(0, 'a'), (1, 'b'), (2, 'c')] |
cmp(x, y) | 比较两个对象,x==y等于返回0,x>y返回整数,x<y返回负数 |
>>> cmp(1,1) 0 >>> cmp(1,2) -1 >>> cmp(1,0) 1 |
locals() | 返回当前局部变量字典 |
>>> a = 1 >>> b = 2 >>> locals() {'a': 1, 'b': 2,...... |
本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1874016,如需转载请自行联系原作者