python中超级实用的30个内置函数
python的内置函数是指不需要任何导入,就可以使用的函数
max(iterable, *[, default=obj, key=func])
内置函数max的作用是找到最大值,对所有容器型数据都可以使用
- 找到容器的最大值
1 | In [311]: a = [1,2,3,3,3,4,2,3] |
- 找到列表最多重复的元素
1 | In [313]: max(a,key=lambda x: a.count(x)) |
- 如果容器为0,设置默认值为0
1 | In [315]: max([],default=0) |
- 当内置函数max使用
lambda
时,lambda里的x就是容器里面的一个个元素
1 | # 找到年龄最大的人 |
- 找到每一个列表中第二个元素最大的列表
1 | In [325]: lst = [[1,3],[0,6],[4,5]] |
sum(iterable, start=0, /)
- 列表(所有容器型数据均可)求和
1 | In [327]: a = [1,3,2,1,4,2] |
sorted(iterable, /, *, key=None, reverse=False)
- 列表排序
1 | In [330]: a = [1,2,3,3,4,2,3] |
- 按照每一个列表的第二个元素排序
1 | In [333]: lst = [[1,4],[3,2]] |
- 字典排序
1 | # 对字典直接使用sorted是对键排序 |
len(obj, /)
- 求容器中元素的个数
1 | In [340]: dic = {'a':1,'b':3} |
pow(x, y, z=None, /)
- x 为底的 y 次幂,如果 z 给出,取余
1 | In [344]: pow(3, 2) |
round(number, ndigits=None)
- 四舍五入,ndigits 代表小数点后保留几位
1 | In [346]: round(10.0222222, 3) |
abs(x, /)
1 | In [350]: abs(-6) |
all(iterable, /)
- 接受一个迭代器,如果迭代器的所有元素都为真,返回 True,否则返回 False
1 | In [352]: all([1,0,3,6]) |
any(iterable, /)
- 接受一个迭代器,如果迭代器里有一个元素为真,返回 True,否则返回 False
1 | In [354]: any([0,0,0,[]]) |
bin(number, /)
- 将十进制转换为二进制,返回二进制的字符串
1 | In [356]: bin(10) |
oct(number, /)
- 将十进制转换为八进制,返回八进制的字符串
1 | In [358]: oct(12) |
hex(number, /)
- 将十进制转换为十六进制,返回十六进制的字符串
1 | In [360]: hex(15) |
bool(x)
- 如果是一个值,如果为0返回False,如果为1返回True,如果是一个容器,容器为空返回Flase,容器不为空返回True
1 | In [362]: bool(0) |
str(object=’’)
- 将字符类型、数值类型等转换为字符串类型
1 | # 默认为空 |
ord(c, /)
- 查看某个字符对应的ASCII码,必须传入单个字符串
1 | In [372]: ord('A') |
dict()、dict(mapping)、dict(iterable)
- 创建数据字典
dict()
,通过构造函数常见字典dict(mapping)
,通过映射创建字典dict(iterable)
,通过迭代器创建字典
1 | In [92]: dict() |
object()
- 返回一个根对象,它是所有类的基类
1 | In [137]: o = object() |
- 使用python内置函数dir,返回object的属性、方法列表
1 | In [379]: dir(o) |
int(x, base=10)
int(x, base =10)
,x 可能为字符串或数值,将 x 转换为一个整数,base是基数
1 | In [380]: int('12') |
int
的基数base有很大的作用,可以将任何一个其它进制的数据转化为十进制
1 | # 将八进制转化为十进制 |
- 将其它进制的数据转化为十进制的时候,传入的x必须是字符串,否则报错
1 | # x必须是字符串 |
float(x=0, /)
- 将一个字符串或整数转换为浮点数
1 | In [390]: float() |
list(iterable=(), /)
- 将一个容器转化为列表类型
1 | In [391]: a = {1,2,3} |
set()、set(iterable)
set()
创建一个空的集合对象set(iterable)
返回一个集合对象,并允许创建后再增加、删除元素。
集合的一大优点,容器里不允许有重复元素,因此可对列表内的元素去重。
1 | In [397]: a=set() |
slice(stop)、slice(start, stop[, step])
返回一个由 range(start, stop, step)
所指定索引集的 slice 对象
1 | In [403]: a = [1,2,1,3,4,6,7] |
tuple(iterable=(), /)
- 将一个迭代器转化为元祖
1 | In [409]: a = [1,2,3] |
type(object)
- 查看对象的类型
1 | In [413]: type([1,2,3]) |
zip(*iterables)
-
创建一个迭代器,聚合每个可迭代对象的元素的
元祖
。 -
参数前带 *,意味着是可变序列参数,可传入 1 个,2 个或多个参数。
1 | a = [1,2,3] |
dir([object])
- 不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时返回参数的属性、方法列表
1 | In [417]: lst = [1,2,3] |
isinstance(object, classinfo)
- 判断 object 是否为类 classinfo 的实例,若是,返回 true
1 | class Node(): |
map(func, *iterables)
内置函数map()
会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表
1 | # 计算平方 |
reversed(sequence, /)
- 逆置序列,返回一个迭代器
1 | In [421]: ''.join(reversed('123')) |