python之内置函数

重要内置函数

map()

可以配合函数更改数据集数据

比如我想要将列表中的数据都自减11

l1 = [11, 22, 33, 44, 55]
res = map(lambda x: x - 11, l1)  # 返回的是一个对象
print(res)  # 输出:<map object at 0x00000171A22DC400>

# 将map()返回的对象转成列表类型
res = list(res)
print(res)  # 输出:[0, 11, 22, 33, 44]

zip()

将括号内的数据集的每一个元素一一对应,每一个对应的元素放到一个元组中,再把这些元组放到列表中

l1 = ['name', 'age', 'pwd']
l2 = ['jason', 18, 123]
res = zip(l1, l2)  # 返回的是一个对象
print(res)  # 输出:<zip object at 0x00000180997CF0C8>

# 将zip()返回的对象转成列表类型
res = list(res)
print(res)  # 输出:[('name', 'jason'), ('age', 18), ('pwd', 123)]

如果数据集个数不对应,会按照短的来

l1 = ['name', 'age', 'pwd', 'sex']
l2 = ['jason', 18, 123]
res = zip(l1, l2)  
print(list(res))  # 输出:[('name', 'jason'), ('age', 18), ('pwd', 123)]

括号内的数据集可以有数个

l1 = [11, 22, 33]
l2 = ['jason', 'kevin', 'tony']
l3 = [1, 2, 3]
l4 = [55, 66, 77]
res = zip(l1, l2, l3, l4)
print(list(res))
# 输出:[(11, 'jason', 1, 55), (22, 'kevin', 2, 66), (33, 'tony', 3, 77)]

image

filter()

可以配合函数筛选数据集,过滤掉不符合的数据

比如我只要一个列表中的偶数

l1 = [11, 22, 33, 44, 55, 66]
res = filter(lambda x: x % 2 == 0, l1)  # 返回的是一个对象
print(res)  # 输出:<filter object at 0x000001B755A0C400>

# 将filter()返回的数据转换为列表
res = list(res)
print(res)  # 输出:[22, 44, 66]

reduce()

配合函数将数据集中的元素进行积累运算

比如我先把列表中的所有元素相加

# 使用前需要导入模块
from functools import reduce

l1 = [11, 22, 33]
res = reduce(lambda x, y: x + y, l1)  # 返回的是一个值
print(res)  # 输出:66

把列表所有元素相乘

# 使用前需要导入模块
from functools import reduce

l1 = [10, 20, 30]
res = reduce(lambda x, y: x * y, l1)  # 返回的是一个值
print(res)  # 输出:6000

常见内置函数

常见内置函数有很多

函数 作用 用法
abs(x) 获取x的绝对值 >>> abs(-100)
100
all(x) x中的元素全部为True才会返回True,否则返回False >>> all([0, 1, 1, True])
False
any(x) x中的元素有一个为True就返回True,全为False才会返回False >>> any([True, 0, False])
True
bin(x) 将x转为二进制 >>> bin(15)
'0b1111'
oct(x) 将x转为八进制 >>> oct(15)
'0o17'
hex(x) 将x转为十六进制 >>> hex(15)
'0xf'
bytes(x,y) 相当于encode解码,将x转换成指定编码y >>> bytes('你好', 'utf8')
b'\xe4\xbd\xa0\xe5\xa5\xbd'
callable(x) 判断x是否可以被调用,就是能否x() >>> x = 5
>>> callable(x)
False
>>> def index(s):
... return index
>>> callable(index)
True
chr(x) 将ASCII码转成字符 >>> chr(65)
'A'
ord(x) 将字符转成ASCII码 >>> ord('A')
65
dir(x) 获取x的可调用的所有方法,不添加参数时获取所在范围的所有方法 >>> dir(5)
['__abs__', '__add__', '__and__', '__bool__'...]
divmod(x, y) 返回x // y和 x % y >>> divmod(250, 25)
(10, 0)
>>> divmod(249, 25)
(9, 24)
>>> divmod(251, 25)
(10, 1)
enumerate(x, y) 一般用在for循环中,y不写就是从0开始,返回x的每一个元素和y,每返回一个元素,y的值就会加1 >>> for i,j in enumerate(['a', 'b', 'c']):
... print(i, j)
0 a
1 b
2 c
eval(x) 可以识别简单逻辑的字符串代码 >>> eval('abs(-100)')
100
exec(x) 可以识别复杂逻辑的字符串代码 >>> exec(
... """
... for i in range(3):
... print(i)
... """
... )
0
1
2
help(x) 查看x内部的注释 >>> help(len)
Help on built-in function len in module builtins:

len(obj, /)
Return the number of items in a container.
id(x) 获取x的内存地址 >>> id('a')
2284721012216
int(x) 将x转为整型 >>> int('123')
123
str(x) 将x转为字符串类型 >>> str(123)
'123'
isinstance(x, y) 判断x是否为y类型 >>> isinstance('a', str)
True
pow(x, y) 返回x的y次幂 >>> pow(2, 3)
8
round(x, y) 把x四舍五入,并保留y位小数,y不写则不要小数部分 >>> round(2.45)
2
>>> round(2.45, 1)
2.5
sum(x) 将x全部元素求和 >>> sum([2, 4, 1])
7

image

posted @ 2022-03-22 21:50  Yume_Minami  阅读(79)  评论(0编辑  收藏  举报