函数——匿名函数,列表生成式

本文详细介绍了Python中匿名函数lambda的使用方法及其限制,包括如何将其与map、filter等函数结合使用。同时,文章深入探讨了列表生成式的语法和应用场景,如支持三元运算、双for循环及多变量操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名函数

lambda x:x**2

关键字lambda表示匿名函数,冒号前面的x表示函数参数。
匿名函数。
用法:

  • 把匿名函数赋值给一个变量,再利用变量来调用该函数
  • 配合其他函数使用
func=lambda x:x**2

print(func(2))
# 4
l=list(map(lambda x:x*2,range(5)))
# map(func, *iterables)
print(l)
# [0, 2, 4, 6, 8]
l=list(filter(lambda n:n%2==1,range(1,20)))
print(l)
# [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

Python对匿名函数的支持有限,只有一些简单的情况下可以使用匿名函数。最多支持到三元运算。

def calc(x,y):
    if x < y:
        return x*y
    else:
        return x/y

func = lambda x,y: x*y if x < y else x/y #声明一个匿名函数

列表生成式

  • 把要生成的元素x * 2放到前面,后面跟for循环,就可以把list创建出来
  • 支持三元运算
  • 可以双for循环
  • 可以用多个变量
l=[x*2 for x in range(5)]
print(l)
# [0, 2, 4, 6, 8]
列表内元素加1

a=[1,2,3,5,6,7]
a=[x+1 for x in a]
print(a)
# [2, 3, 4, 6, 7, 8]
a=[x*2 for x in range(5) if x> 2]
print(a)
# [6, 8]
l=[m+n for m in 'he' for n in 'wo']
print(l)
# ['hw', 'ho', 'ew', 'eo']
for k, v in d.items():
    print(k, '=', v)
    # x = A
    # y = B
    # z = C

l=[k + '=' + v for k, v in d.items()]
print(l)
# ['x=A', 'y=B', 'z=C']
把字符串筛选出来并小写

L1 = ['Hello', 'World', 18, 'Apple', None]

L2=[x.lower() for x in L1 if isinstance(x,str)]
print(L2)
# ['hello', 'world', 'apple']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值