python字符串切片用法,Python中lambda表達式的常見用法

 2023-10-04 阅读 34 评论 0

摘要:非常抱歉,昨天發的代碼中有一處小錯誤,已通過留言的方式進行了糾正,詳情請見詳解Python列表推導式lambda表達式常用來聲明匿名函數,即沒有函數名字的臨時使用的小函數。lambda表達式只可以包含一個表達式,不允許包含其他復雜的語句࿰

非常抱歉,昨天發的代碼中有一處小錯誤,已通過留言的方式進行了糾正,詳情請見詳解Python列表推導式

lambda表達式常用來聲明匿名函數,即沒有函數名字的臨時使用的小函數。lambda表達式只可以包含一個表達式,不允許包含其他復雜的語句,但在表達式中可以調用其他函數,并支持默認值參數和關鍵參數,該表達式的計算結果相當于函數的返回值。下面的代碼演示了不同情況下lambda表達式的應用。

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

#把lambda表達式當做函數使用

python字符串切片用法,>>> print(f(1, 2, 3))

6

#使用lambda表達式定義帶有默認值參數的函數

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

>>> print(g(1))

python菜鳥教程,6

#調用時使用關鍵參數

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

11

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

lambda匿名函數,>>> 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']())

python最優化算法?5 6 8

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

#沒有名字的lambda表達式,作為函數參數

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

[11, 12, 13, 14, 15]

python中lambda用法?>>> L

[1, 2, 3, 4, 5]

>>> def demo(n):

return n*n

>>> demo(5)

python中的lambda函數?25

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

#在lambda表達式中可以調用其他函數

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

[1, 4, 9, 16, 25]

python groupby用法?#生成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

python里面的lambda,#隨機打亂順序

>>> 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表達式指定排序規則

python語言,>>> 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]

#首先按第3列從小到大排序

#第3列一樣的按第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]

本文內容節選自《Python程序設計》(第2版),董付國編著,清華大學出版社,2016年6月出版,2016年11月第二次印刷。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/112798.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息