day15 内置函数 , 匿名函数
Posted hdy19951010
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day15 内置函数 , 匿名函数相关的知识,希望对你有一定的参考价值。
内置函数 匿名函数
python提供的常用的功能,方便开发使用.
dir #将对象所有的方法发放置在一个列表中,并返回
print (dir(str)) print (dir(int))
range #函数可创建一个整数对象,一般用在for循环中
next #内部实际使用了__next__方法,返回迭代器的下一个项目
bool #值用于将给定参数转换为布尔类型,如果没有参数,返回 False
int #函数用于将一个字符串或数字转换为整型
print(int(12.73)) #浮点型的,取整数(不会四舍五入) print(int("12.98")) #这样会报错,浮点类型的不能是字符串
float #函数用于将整数和字符串转换成浮点数。
print(float(7867)) 结果:7867.0
divmod #计算除数与被除数的结果,返回一个包含商和余数的元组
print(divmod(9,2)) #结果:(4, 1)
sum #对可迭代对象进行求和计算(可设置初始值)
l1=[1,2,3,4,5,6,7,8] print(sum(l1)) #结果:36 累加的结果 print(sum(l1,100)) #结果136 这里的100是设置的初始值
min #返回可迭代对象的最小值(可加key,key为函数名,通过函数规则,返回最小值)
l2=[12,45,67,35,34,66,233] print (min(li)) print(min(l2,key=abs))
max #返回可迭代对象最大值(可加key,key为函数名,通过函数规则,返回最大值)
l2=[12,45,67,35,34,66,233] print (max(l2)) dic = {‘a‘: 3,‘b‘: 2,‘c‘: 1} def func(x): return dic[x] print(min(dic,key=func)) #结果: c print(max(dic,key=func)) #结果: a
lis = [[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]] def func1(x): return x[1] #这里的索引1,所以找的就是Values print(max(lis,key=func1)) #结果:350 这个找的是最大的Values
list #将一个可迭代对象呢转化成列表(如果是字典,默认将key作为列表元素)
li=list({"k":8,"h":0}) print (li) #结果:[‘k‘, ‘h‘] l1=list((1,2,3,4)) print (l1) #结果:[1, 2, 3, 4]
tuple #将一个可迭代对象转化为一个元组(如果是字典,默认将key作为元组的元素)
li=tuple([1,2,3]) print (li) #结果:(1,2,3)
reversed #讲一个程序翻转,并返回此翻转序列的迭代器
li=[1,2,3,4,5,6,7,8] for i in reversed(li): print (i) #结果:8,7,6,5,4,3,2,1
slice #构造一个切片对象,用于列表的切片
li=[1,2,3,4,5,6,7,8] print (li[0:4]) #普通切片 结果:[1, 2, 3, 4] rule = slice(1,6,2) #用slice切片 print(li[rule]) #结果:[2, 4, 6]
format #与具体数据相关,用于计算各种小数,精算等。
print(format(‘test‘, ‘<20‘)) #结果:test
repr #返回一个对象得到string形式
print(repr(‘中国‘) #用了repr之后打印出来的是一个字符串"中国" s="我是%s某某" % "张" print(s) #普通打印,我是张某某
len #返回一个对象中的元素个数
s=[1,2,3,45,6,78,] print (len(s)) #结果 : 6
sorted #对所有可迭代对象进行排序操作
l1 = [1, 4, 5, 77, 2, 3,] print(sorted(l1)) #结果:[1, 2, 3, 4, 5, 77]
#对函数进行操作 L = [(‘a‘, 4), (‘c‘, 3), (‘d‘, 1),(‘b‘, 2), ] def func2(x): return x[1] #加上索引就是对每个元组后面的值进行操作,不加就是对前面的字母进行操作 l2 = sorted(L,key=func2) print(l2)
enumerate # 枚举,返回一个枚举对象。
all #可迭代对象中,全都是True才是True
any #可迭代对象中,有一个True
l1 = [‘asv‘, 1,7] print(all(l1)) #结果:True l2 = [True,"", 0, ()] print(any(l2)) #结果:True
filter #过滤
def func(x): return x %2==0 ret =filter(func,[1,2,3,4,5,6,7]) print (ret) for i in ret: print(i) #结果:2 4 6
map #会根据提供的函数对指定序列做映射
l1 = [1,2,3,4,5] def func(x): return x*x ret = map(func,l1) print(ret) for i in ret: print(i) #结果:1 4 9 16 25
匿名函数
#函数名 = lambda 参数 :返回值 #参数可以有多个,用逗号隔开 #匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值 #返回值和正常的函数一样可以是任意数据类型 def func1(x,y): return x+y func = lambda x,y : x+y # x,y在这是参数, x+y 在这例是返回值 print(func1(1,2)) #结果:3
res = filter(lambda x:x>10,[5,8,11,9,15]) #filter 过滤作用 for i in res: print(i)
res = map(lambda x:x**2,[1,5,7,4,8]) #map映射作用 for i in res: print(i)
dic={‘k1‘:10,‘k2‘:100,‘k3‘:30} print(dic[max(dic,key=lambda k:dic[k])]) # max 找出元素最大值 #结果:100
以上是关于day15 内置函数 , 匿名函数的主要内容,如果未能解决你的问题,请参考以下文章