lambda参数的使用

本文详细介绍了Python中的lambda函数,包括其语法、无参数和有参数的使用场景,以及默认参数、可变参数和if判断的应用,还展示了如何在列表排序中使用lambda。
摘要由CSDN通过智能技术生成

   在Python中,lambda是一种匿名函数的方式。它可以接受任意数量的参数,但只能返回一个表达式的值。

  lambda函数的语法如下:

  lambda 参数: 表达式

  其中,参数是函数的输入,可以是任意数量的参数,用逗号分隔。表达式是函数的输出,只能有一个。

   lambda函数常用于需要一个简短的函数定义的情况,特别是在需要传递函数作为参数的地方。在使用lambda函数时,通常将其赋值给一个变量,以便后续使用。

使用方式:

def fun1(a,b):

    return a+b

c=fun1(1,2)

print(c)


fun2=lambda a,b:a+b

print(fun2(1,4))

 

无参数情况


 

num=lambda : 100

print(num())

在无参数情况下,lambda关键字和冒号定义一个匿名函数

一个参数情况

```python

num=lambda a:a

print(num('我和你在一起学习'))

```


```python

num2=lambda b:b

print(num2('要学习了'))

```

当lambda函数有参数时,参数可以在冒号之前指定,多个参数使用逗号分隔

在默认参数(缺省参数)的情况

```python
1.

import random     #随机产生的数

num3=lambda a,b,c=100:a+b+c        #c是默认值100

print(num3(a=random.randint(1,101),b=random.randint(1,101)))

```


```python
2.

简单的:

num4=lambda d,e,f=10:d+e+f      #f是默认值10

print(num4(9,19))

```

在默认或缺省参数情况下,lambda函数可以直接定义在函数调用的地方,并且不需要显式地定义参数。默认参数的值会在lambda函数中被引用,类似于全局变量.

在上面2的例子中,lambda函数num4有三个参数d和e和f,其中f是一个默认参数,它的默认值为10。当提供两个参数时,将f代入参数值,d和e只能取成(9,19)或(19,9),所以num4(9,19)的值是38.

如果当只有一个值(11),另外一个参数也默认是相同值

num5=lambda   g,h=11: g+h

print(num5)             #读取是22

在可变参数(*args)情况下

```python

num5=lambda *args:args

print(num5(10,20,30,40))   #主要*args的返回基本都是元组形式

```

在可变参数(**kwargs)情况下

```python

num6=lambda **kwargs:kwargs

print(num6(name='blue',age=20))  #主要**kwargs的返回基本都是字典形式

```
```python

num7=lambda **kwargs:kwargs

print(num7(name='小李',age='20',job='None'))

```

在lambda里面用if判断语句

```python

num8=lambda a,b:a if a>b else b   #a=29 b=35

print(num8(29,35))

num9=lambda c,e:c if c<e else c   #c=19 e=8

print(num9(19,8))

```

列表中的字典排序

```python

students=[

    {'name':'小李','age':'22'},

    {'name':'小东','age':'23'},

    {'name':'小辉','age':'20'}

]

students.sort(key=lambda y:y['name'])    #students列表 name根据key来完成升序

print(students)

students.sort(key=lambda y:y['name'],reverse=True)  #students列表 name根据key来完成降序

print(students)

students.sort(key=lambda x:x['age'])   #students列表 age根据key来完成升序

print(students)

students.sort(key=lambda  x:x['age'],reverse=True)  #students列表 age根据key来完成降序

#注意x和y是形参,代表将来的排序

练习题(给新手写)

students=[

     {'name':'小朱','age':'21'},

     {'name':'小光','age':'22'},

     {'name':'小南','age':'19'},

     {'name':'小星','age':'23'}

]

```

  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不爱青椒的小人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值