内置函数一的链接
优快云https://mp.youkuaiyun.com/mp_blog/creation/editor/123324094
一.compile函数
1.用法:用于将一个字符串编译为字节代码,语法格式如下:
complie(source,filename,mode,flags=0,dont_inherit=False,optimize=-1)
- source为代码语句的字符串
- filename为代码文件的名称(如果不是从文件读取代码,则传递一些可辨认的值)
- mode为指定编译代码的种类(其值可以是“exec”,“eval”,"single")
- 其余参数使用默认值
例子:
num = 2
str = input("请输入关于num的计算公式:")
res = compile(str,"","eval")
print(eval(res))
简单来说就是将字符串装换为可以执行的代码命令
二.map()函数
映射函数 语法map(function,iterable) 可以对迭代对象中的每一个元素进行映射,分别去执行function
1.函数说明:对列表和其它序列中的每个元素进行同一个操作并将其结果集合起来
list1 = [1, 2, 3, 4]
func = lambda x: x + 10
list2 = list(map(func,list1))
print(list2)
可以这样说对于可迭代对象操作的函数
2.map函数还可以接收两个序列
list_1 = list(map(lambda x,y:x+y,range(1,5),range(2,6)))
print(list_1)
结果:
[3, 5, 7, 9]
三.filter()函数
对指定序列进行过滤操作,函数语法格式:
- filter(function, sequence)
- function 为函数名,引用的函数只能接收一个参数,并且返回值是布尔值
- sequence 为一个序列,filter()函数返回值为迭代器对象
例子:
mess = ["回头科科", "chinazxjy.cn", "www."]
func = lambda x: x.isalnum() #检测字符串是否由字母和数字组成 这里也根据汉字的Ascii码
list = list(filter(func,mess))
print(list)
结果:
['回头科科']
注意:对列表list中的每个元素调用func函数,并返回使得func函数返回值为True的元素组成的可迭代对象。
四,zip()函数
zip()函数用于将一系列可迭代的对象作为参数,将对象中应该的元素打包成一个个元组,然后返回由这些元组组成的迭代对象。
用法1:
list1, list2 = [1, 2, 3], ["回头科科", "人工智能", "欢迎大家"]
list3 = list(zip(list1, list2))
print(list3)
结果:
[(1, '回头科科'), (2, '人工智能'), (3, '欢迎大家')]
zip函数将列表list1的第一个元素与列表list2中的1个元素组成一个元组。以此类推。最终组成一个元组组成的迭代对象。
用法2:
zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数。但传入参数的长度不同时,zip()函数以最短序列长度为准进行截取获得元组。
list1, list2 ,list3= [1, 2, 3], ["回头科科", "人工智能", "欢迎大家"],[256,4294967296]
list4 = list(zip(list1, list2,list3))
print(list4)
结果:
[(1, '回头科科', 256), (2, '人工智能', 4294967296)]
这里注意:zip()函数以最短序列长度为准进行截取获得元组。
用法3:
zip()函数使用 * 运算符
list1, list2 ,list3= [1, 2, 3], ["回头科科", "人工智能", "欢迎大家"],[256,4294967296]
list4 = zip(list1, list2,list3)
list5 = zip(*list4)
print(list(list5))
结果:
[(1, 2), ('回头科科', '人工智能'), (256, 4294967296)]
使用 * 运算符相当于执行相反的操作。