Board logo

标题: 匿名函数 [打印本页]

作者: admin    时间: 2019-9-24 11:07     标题: 匿名函数

匿名函数就是不再使用def语句的标准形式来定义一个函数。 lambda的主体是一个表达式,仅能在表达式中封装有限的逻辑。 ###### 例子一: #coding=utf-8 list_1=[1,2,3,4,5] print('列表中大于3的元素有:',[item for item in filter(lambda x:x>3,list_1)]) print('列表中大于3的元素有',len([item for item in filter(lambda x:x>3,list_1)]),'个') print("-" * 10) list_1.sort(reverse=True)#降序 print(list_1) print(f'列表中的最小值为{list_1[4]}') print("-" * 10) list_1.sort(reverse=False)#升序 print(list_1) print(f'列表中的最大值为{list_1[4]}') 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 列表中大于3的元素有: [4, 5] 列表中大于3的元素有 2 个 ---------- [5, 4, 3, 2, 1] 列表中的最小值为1 ---------- [1, 2, 3, 4, 5] 列表中的最大值为5 ###### 例子二: #coding=utf-8 list_1=['小明','大海','zhuohua','Python'] print("列表中包含关键字'h'的元素:") print([item for item in filter(lambda x:'h' in x,list_1)]) print("-" * 10) print("列表中包含关键字'海'的元素:") print([item for item in filter(lambda x:'海' in x,list_1)]) print("-" * 10) print("列表中不包含关键字'明'的元素:") print([item for item in filter(lambda x:'明' not in x,list_1)]) 脚本运行的结果:(区分英文字母大小写) C:\Users\jacky\Desktop>python xx.py 列表中包含关键字'h'的元素: ['zhuohua', 'Python'] ---------- 列表中包含关键字'海'的元素: ['大海'] ---------- 列表中不包含关键字'明'的元素: ['大海', 'zhuohua', 'Python'] ###### 例子三: #coding=utf-8 list_1=['小明','大海','zhuohua','Python海'] print("列表中以关键字'zh'开头的元素:") print([item for item in filter(lambda x:x.startswith('zh'),list_1)]) print("-" * 10) print("列表中以关键字'海'结尾的元素:") print([item for item in filter(lambda x:x.endswith('海'),list_1)]) 脚本运行的结果:(区分英文字母大小写) C:\Users\jacky\Desktop>python xx.py 列表中以关键字'zh'开头的元素: ['zhuohua'] ---------- 列表中以关键字'海'结尾的元素: ['大海', 'Python海'] ######使用匿名函数进行科学计算(一) #coding=utf-8 func1 = lambda x,y,z:x*y-z #公式 Result_1 = func1(8,9,3.268) #分别给变量x、y、z进行赋值,并把结果返回给变量Result_1 print(Result_1) print(type(Result_1)) Result_2 = "%.2f" % Result_1 #结果保留两位小数 print(Result_2) print(type(Result_2)) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 68.732 68.73 ######使用匿名函数进行科学计算(二) #coding=utf-8 func1 = lambda x,y,z:x * (y - z) x = 8 y = 9 z = 3.268 Result_1 = func1(x,y,z) print(Result_1) print(type(Result_1)) Result_2 = "%.2f" % Result_1 #结果保留两位小数 print(Result_2) print(type(Result_2)) Result_3 = float(Result_2) #转换为浮点数 print(Result_3) print(type(Result_3)) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 45.856 45.86 45.86 ######使用匿名函数进行科学计算(三) #coding=utf-8 import math func1 = lambda x:math.sin(x) #sin()返回的是x弧度的正弦值 x = 8 Result_1 = func1(x) print(Result_1) print(type(Result_1)) Result_2 = "%.3f" % Result_1 #结果保留三位小数 print(Result_2) print(type(Result_2)) print("-" * 10) print("-" * 10) print("圆周率:") a = math.pi #圆周率 print(a) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 0.9893582466233818 0.989 ---------- ---------- 圆周率: 3.141592653589793 ######使用匿名函数进行科学计算(四) #coding=utf-8 import math func1 = lambda x:math.cos(x) #cos()返回的是x弧度的余弦值 x = 8 Result_1 = func1(x) print(Result_1) print(type(Result_1)) Result_2 = "%.4f" % Result_1 #结果保留四位小数 print(Result_2) print(type(Result_2)) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py -0.14550003380861354 -0.1455 ######使用匿名函数进行科学计算(五) #coding=utf-8 import math func1 = lambda x:math.tan(x) #tan()返回的是x弧度的正切值 x = 8 Result_1 = func1(x) print(Result_1) print(type(Result_1)) Result_2 = "%.5f" % Result_1 #结果保留五位小数 print(Result_2) print(type(Result_2)) Result_3 = int(float(Result_2)) #先转换为浮点数,再转换为整数(直接截取整数部分,不是四舍五入) print(Result_3) print(type(Result_3)) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py -6.799711455220379 -6.79971 -6 相关文章: 自定义函数 自定义类 Python3命令集 if语句 for循环语句




欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2