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

猜你喜欢

转载自www.cnblogs.com/hdy19951010/p/9210592.html