python内置函数

内置函数

以下是Python3版本所有的内置函数:

abs()

绝对值

all()

传进一个可迭代对象,如果对象为空,比如[],’ ‘等,则返回False,如果不为空,则需要全部对象为Ture,才返回Ture

1
print(all([None,0,' ',1]))

输出结果:False

any()

传进一个可迭代对象,如果对象为空,比如[],’ ‘等,则返回False,如果不为空,只要可迭代对象next出来的值任何一个为Ture,就返回Ture

1
print(any([None,0,' ',1]))

输出结果:True

sum()

传进一个可迭代对象,进行求和计算

bin()

返回一个整数 int 或者长整数 long int 的二进制表示

bool()

以下情况都为False:

[] 空列表

{} 空字典,空集合

() 空元祖

‘ ‘ 空字符串

0

bytes()

将一个字符串转换成字节形式

1
print(bytes('helloworld', encoding='utf-8'))

callable()

判断函数是否可被调用

chr()

用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应ascii字符

dir()

查看下面的方法

例: print(dir(sum)) 查看sum下面的方法

divmod()

传进去两个数,得到整除加余数,多用于分页

enumerate()

可迭代,并加上序列例:

1
2
for i in emumerate(['a','b','c'])
print(i)

输出结果:

1
2
3
(0,'a')
(1,'b')
(2,'c')

eval()

函数可将字符串转换为代码执行,并返回一个或多个值

hash()

一种算法,如果字符串改变,hash值也会改变,且不能逆推

hex()

十进制转十六进制

otc()

十进制转八进制

id()

返回对象的内存地址,判断身份

pow()

方法返回 xy(x的y次方) 的值

reversed()

函数用于反向列表中元素

lambda()

匿名函数:是指一类无需定义标识符(函数名)的函数或子程序。
lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值

例1:定义一个lambda表达式,求三个数的和

1
2
3
4
5
6
7
8
f = lambda x,y,z:x + y + z

print f(1,2,3)
print f(4,5,6)

输出:
6
15

例2:用lambda表达式求n的阶乘

1
2
3
4
n = 5
print reduce(lambda x,y:x*y,range(1,n+1))

输出:120

round()

方法返回浮点数x的四舍五入值,但实际为四舍六入五留双

round(10.5) 离偶数10近,所以结果为10

round(11.5) 离偶数12近,所以结果为12

max()

求最大值

例:求字典中values的最大值,但返回的key

1
2
money ={'wzc': 5000, 'lsy': 500, 'hsy': 7000}
print(max(money, key=lambda s: money[s]))

min()

求最小值

zip()

函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的迭代器对象。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

1
2
3
4
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = list(zip(a,b))

打包为元组的列表 [(1, 4), (2, 5), (3, 6)]

1
zipped = list(zip(a,c))

元素个数与最短的列表一致 [(1, 4), (2, 5), (3, 6)]

1
zipped = list(zip(a,b,c))

打包为元组的列表 [(1, 4, 4), (2, 5, 5), (3, 6, 6)]

sorted()

排序,返回值是列表,默认升序

1
2
3
sor = [2, 4, 6, 1, 34, 3]
print(sorted(sor)) # 升序
print(sorted(sor, reverse=True)) # 降序

实例:把人员按工资的高低排列

1
2
money ={'wzc': 5000, 'lsy': 500, 'hsy': 7000}
print(sorted(money, key=lambda x: money[x]))

map()

会根据提供的函数对指定序列做映射。它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个map迭代器 并返回

实例1:

将列表中的值平方:

1
2
3
x = [1, 4, 3, 2, 9, 6]
l = map(lambda x1: x1**2, x)
print(list(l))

注意:Pyhton2返回列表,Python3 返回迭代器对象,我看网上很多人的博客写的都是Python2的返回结果

实例2:拼接

1
2
3
x = [1, 4, 3, 2, 9, 6]
l = map(lambda x1: str(x1) + 'apple', x)
print(list(l))

reduce()

函数会对参数序列中元素进行累积

在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:

1
2
from functools import reduce
reduce(lambda x, y: x+y, [1,2,3,4,5])

filter()

函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

注意: Pyhton2返回列表,Python3 返回迭代器对象

实例1:

1
2
3
fe = [34, 23, 12, 56, 34, 34, 324]
le = filter(lambda x: x > 20, fe)
print(list(le)

实例2:

1
2
3
money ={'wzc': 5000, 'lsy': 500, 'hsy': 7000}
li = filter(lambda x1: money[x1] > 1000, money)
print(list(li))