内建函数,可以直接使用,而不需要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,......


博客地址:http://lizhenliang.blog.51cto.com

QQ群:323779636(Shell/Python运维开发群)


内置函数还有很多,有兴趣可以参考一下:https://docs.python.org/2/library/functions.html

wKioL1gthHnDnve6AABW84jo8zA426.png