匿名函数就是不再使用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
<class 'float'>
68.73
<class 'str'>
######使用匿名函数进行科学计算(二)
#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
<class 'float'>
45.86
<class 'str'>
45.86
<class 'float'>
######使用匿名函数进行科学计算(三)
#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
<class 'float'>
0.989
<class 'str'>
----------
----------
圆周率:
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
<class 'float'>
-0.1455
<class 'str'>
######使用匿名函数进行科学计算(五)
#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
<class 'float'>
-6.79971
<class 'str'>
-6
<class 'int'>
相关文章:
自定义函数
自定义类
Python3命令集
if语句
for循环语句 |