lambda
lambda x,y:x*y #声明一个函数
# -*- coding: UTF-8 -*-
def calc(x,y):
if x < y:
return x*y
else:
return x/y
print(lambda x,y:x*y)
func = lambda x,y:x*y #匿名函数,不支持复杂的逻辑判断、
func = lambda x,y:x*y if x<y else x/y #也就能实现个三元运算、
print(calc(3,8))
print(func(3,8))
E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/匿名函数.py
<function <lambda> at 0x0000000000B35730>
24
24
匿名函数主要和其他方法搭配只用
需求:把列表里的每个元素相乘
01:不使用函数
# -*- coding: UTF-8 -*-
#匿名函数主要和其他方法搭配只用
data = list(range(10))
print(data)
for index,i in enumerate(data):
data[index] = i*i
print(data)
E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/匿名函数.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
02:使用函数
# -*- coding: UTF-8 -*-
#匿名函数主要和其他方法搭配只用
data = list(range(10))
def f2(n):
return n*n
print(data)
print(list(map(f2,data)))
E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/匿名函数.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
03:使用匿名函数
# -*- coding: UTF-8 -*-
#匿名函数主要和其他方法搭配只用
data = list(range(10))
print(data)
print(list(map(lambda x:x*x,data))) #匿名函数主要和其他方法搭配只用/用完一次基本不会再用
E:\Python\学习\venv\Scripts\python.exe E:/整理版笔记/python/函数/匿名函数.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]