• 手机站
  • 收藏
聚培教育网合作机构 > 成都达内教育
成都达内教育
400-998-6158
成都达内教育是一家由留学海归创办的高端职业教育培训机构,是中国人才培养平台、人才输送平台。
成都达内教育

Python中lambda表达式的常见用法

python学习网

更新时间:2021-11-03 浏览:113
核心提示:lambda关系式常见来申明匿名函数,即沒有涵数名称的临时性应用的小涵数。lambda关系式只能够包括一个关系式,不允许包括别的繁杂的句子,但在关系式中能够获取别的涵数,并适用初始值主要参数和重要主要参数

lambda关系式常见来申明匿名函数,即沒有涵数名称的临时性应用的小涵数。lambda关系式只能够包括一个关系式,不允许包括别的繁杂的句子,但在关系式中能够获取别的涵数,并适用初始值主要参数和重要主要参数,该关系式的数值等同于涵数的传参。下边的编码演试了各种状况下lambda关系式的运用。


>>> f = lambda x, y, z: x y z

#把lambda关系式作为涵数应用

>>> print(f(1, 2, 3))

6

#应用lambda关系式界定含有初始值主要参数的涵数

>>> g = lambda x, y=2, z=3: x y z

>>> print(g(1))

6

#启用时应用重要主要参数

>>> print(g(2, z=4, y=5))

11

>>> L=[(lambda x: x**2), (lambda x: x**3), (lambda x: x**4)]

>>> print(L[0](2), L[1](2), L[2](2))

4 8 16

#lambda关系式能够做为词典的“值”

>>> D={'f1':(lambda: 2 3), 'f2':(lambda: 2*3), 'f3':(lambda: 2**3)}

>>> print(D['f1'](), D['f2'](), D['f3']())

5 6 8

>>> L=[1, 2, 3, 4, 5]

#没有名字的lambda关系式,做为函数调用

>>> print(map((lambda x: x 10), L))

[11, 12, 13, 14, 15]

>>> L

[1, 2, 3, 4, 5]

>>> def demo(n):

return n*n

>>> demo(5)

25

>>> a_list = [1, 2, 3, 4, 5]

#在lambda关系式中能够获取别的涵数

>>> map(lambda x: demo(x), a_list)

[1, 4, 9, 16, 25]

#转化成20个数,0-19

>>> data = list(range(20))

>>> print(data)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>> import random

#任意弄乱次序

>>> random.shuffle(data)

>>> data

[4, 3, 11, 13, 12, 15, 9, 2, 10, 6, 19, 18, 14, 8, 0, 7, 5, 17, 1, 16]

#应用lambda关系式特定排列标准

>>> data.sort(key=lambda x: len(str(x)))

>>> data

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

#应用lambda关系式特定排列标准

>>> data.sort(key=lambda x: len(str(x)), reverse=True)

>>> data

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> from random import randrange

#应用列表推导式转化成7行5列二维任意数据信息

#每一个数据在[1,10)范畴内

>>> lst = [[randrange(1, 10) for i in range(5)] for j in range(7)]

>>> for item in lst:

print(item)

[9, 9, 5, 6, 7]

[7, 3, 5, 5, 6]

[3, 5, 3, 5, 3]

[4, 7, 6, 9, 8]

[6, 4, 1, 4, 1]

[9, 7, 8, 9, 4]

[9, 1, 8, 6, 9]

#*按第三列由小到大排列

#第三列一样的按第5列由小到大排列

>>> lst.sort(key=lambda item: (item[2], item[4]))

>>> for item in lst:

print(item)

[6, 4, 1, 4, 1]

[3, 5, 3, 5, 3]

[7, 3, 5, 5, 6]

[9, 9, 5, 6, 7]

[4, 7, 6, 9, 8]

[9, 7, 8, 9, 4]

[9, 1, 8, 6, 9]
更多>同类资讯
更多>相关课程
顶部