最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python數(shù)據(jù)操作之lambda表達(dá)式詳情

 更新時(shí)間:2022年05月06日 10:58:42   作者:??斜月????  
這篇文章主要介紹了python數(shù)據(jù)操作之lambda表達(dá)式詳情,文章基于python的相關(guān)資料展開(kāi)lambda表達(dá)式具體的內(nèi)容,感興趣的小伙伴可以參考一下

1 前言

在 Java 和 js 中,lambda箭頭函數(shù)是十分常見(jiàn)的操作,這種表達(dá)方式在使用時(shí)非常的簡(jiǎn)便。在python的語(yǔ)法中也有應(yīng)用場(chǎng)景,lambdapython預(yù)留的關(guān)鍵字,帶有該關(guān)鍵字的都視為lambda,

其表現(xiàn)形式如下:

# lambda 是表達(dá)式, arg 是用戶輸入?yún)?shù) expression 是函數(shù)表達(dá)式
lambda [arg1 [,arg2,.....argn]]:expression

2 lambda 的特性

python 中 lambda 表達(dá)式的特性如下所示:

  • 表達(dá)式是匿名的,lambda 只是一個(gè)一個(gè)表達(dá)式,類似于但是沒(méi)有名字。
  • 表達(dá)式有輸入和輸出,輸入是 arg 的參數(shù),輸出是表達(dá)式計(jì)算的結(jié)果。
  • 具有命名空間,只能在命名空間之內(nèi)獲取和操作參數(shù)變量。

常見(jiàn)的表達(dá)式如下所示:

lambda x, y: x + y			# 函數(shù)輸入是x和y,輸出是 x + y
lambda *args: sum(args)		# 輸入是任意個(gè)數(shù)參數(shù),輸出是多個(gè)參數(shù)的和,輸入?yún)?shù)必須是數(shù)字
lambda **kwargs: 2			# 輸入是任意鍵值對(duì)參數(shù),輸出結(jié)果為固定值

3 lambda 的一些用法

3.1 map 函數(shù)

map 函數(shù)會(huì)根據(jù)提供的函數(shù)對(duì)可迭代參數(shù)進(jìn)行逐個(gè)調(diào)用,并返回一個(gè)可迭代對(duì)象結(jié)果,其語(yǔ)法和使用方式如下所示:

# function 代表為函數(shù),iterable 代表一個(gè)可迭代對(duì)象,也可以傳入多個(gè)對(duì)象
map(function, iterable, ...)
# 只有一個(gè)可迭代參數(shù)情況
def cal_num(x):
    return x ** 2 + 2 * x - 3
# 準(zhǔn)備的數(shù)據(jù)
read_list = [2, 3, 4]
# 因?yàn)閙ap 的結(jié)果是一個(gè)可迭代對(duì)象,所以轉(zhuǎn)換為 list 對(duì)象打印結(jié)果
re_list = list(map(cal_num, read_list))
#計(jì)算的結(jié)果 [5, 12, 21]
print(re_list)

# 多個(gè)可迭代參數(shù)情況,逐個(gè)計(jì)算和
def cal_add_num(x, y):
    return x  + y
# 準(zhǔn)備的數(shù)據(jù)
read_list = [2, 3, 4]
re_list = list(map(cal_add_num, read_list, read_list))
# 計(jì)算結(jié)果 [4, 6, 8]
print(re_list)

# 關(guān)于多個(gè)迭代的操作,也可以采用 zip 將多個(gè)可迭代對(duì)象進(jìn)行處理,組成元組對(duì)象,進(jìn)行循環(huán)計(jì)算處理。
result_list = []
for k1, k2 in zip(read_list,read_list):
    result_list.append(k1 + k2)

3.2 reduce 函數(shù)

reduce 函數(shù)會(huì)對(duì)參數(shù)列表中的元素進(jìn)行累積計(jì)算,通常的做法就是對(duì)一列數(shù)組求和,前篇講述的 java Stream 關(guān)于 reduce 的操作和本例是一樣的,其中的 lambda 可以看成是數(shù)列的推導(dǎo)式:

# function 代表為函數(shù),iterable 代表一個(gè)可迭代對(duì)象,initializer 指定起始值
reduce(function, iterable[, initializer])
# 計(jì)算數(shù)組之和,lambda 寫(xiě)法,起始值為 10, 計(jì)算結(jié)果為 25
res = reduce(lambda x, y: x + y, [1, 2, 3, 4, 5], 10)

這里需要說(shuō)明的是,在 python3 中 reduce 已經(jīng)從全局命名空間中移除,被放在了 functools 模塊中,如果需要使用,則需要進(jìn)行引入from functools import reduce。

3.3 sorted 函數(shù)

sorted 函數(shù),顧名思義就是對(duì)可迭代對(duì)象進(jìn)行排序操作,其語(yǔ)法格式和用法如下所示:

# iterable 為可迭代對(duì)象 cmp 為比較函數(shù) 排序字段和排序順序
sorted(iterable[, cmp[, key[, reverse]]])
# 1、簡(jiǎn)單排序
a = [5,7,6,3,4,1,2]
# 使用sorted,保留原列表,不改變列表a的值
# 排序結(jié)果為 [1, 2, 3, 4, 5, 6, 7]
b = sorted(a)
# 2、使用 lambda 指定排序函數(shù)方式排序
# 待排序?qū)ο?
x_list = [('b',2),('a',1),('c',3),('d',4)]
# 排序結(jié)果:[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
y_list = sorted(x_list, cmp=lambda x,y:cmp(x[1],y[1]))
# 3、利用參數(shù) key 排序,依然使用 lambda 指定元祖的第一個(gè)數(shù)據(jù)
# 計(jì)算結(jié)果:[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
z_list = sorted(x_list, key=lambda x:x[1])
# 4、指定排序順序
user_list = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
# 排序結(jié)果 [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
re_list = sorted(user_list, key=lambda s: s[2], reverse=True)

3.4 filter 函數(shù)

filter 函數(shù)相對(duì)來(lái)說(shuō)就比較簡(jiǎn)單了,主要就是過(guò)濾操作,過(guò)濾掉不符合表達(dá)式的數(shù)據(jù),得到最終的結(jié)果。

# function 為過(guò)濾函數(shù),返回結(jié)果為 true 或者 false, iterable 為可迭代對(duì)象
filter(function, iterable)
# 判斷是否為奇數(shù)
def is_odd(n):
	return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4])
print(list(newlist))

4 總結(jié)

文章主要講述了 python 的 lambda 的相關(guān)操作,主要就是 lambda 表達(dá)式與 map、filter、 sorted、 reduce 函數(shù)的配合使用。

到此這篇關(guān)于python數(shù)據(jù)操作之 lambda表達(dá)式詳情的文章就介紹到這了,更多相關(guān)python lambda表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python處理數(shù)據(jù),存進(jìn)hive表的方法

    python處理數(shù)據(jù),存進(jìn)hive表的方法

    今天小編就為大家分享一篇python處理數(shù)據(jù),存進(jìn)hive表的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python random模塊用法解析及簡(jiǎn)單示例

    Python random模塊用法解析及簡(jiǎn)單示例

    這篇文章主要介紹了Python random模塊用法解析及簡(jiǎn)單示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • python實(shí)現(xiàn)ip地址的包含關(guān)系判斷

    python實(shí)現(xiàn)ip地址的包含關(guān)系判斷

    這篇文章主要介紹了python實(shí)現(xiàn)ip地址的包含關(guān)系判斷,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Python實(shí)現(xiàn)數(shù)據(jù)庫(kù)與Excel文件之間的數(shù)據(jù)自動(dòng)化導(dǎo)入與導(dǎo)出

    Python實(shí)現(xiàn)數(shù)據(jù)庫(kù)與Excel文件之間的數(shù)據(jù)自動(dòng)化導(dǎo)入與導(dǎo)出

    數(shù)據(jù)庫(kù)和Excel文件是兩種常見(jiàn)且重要的數(shù)據(jù)存儲(chǔ)方式,本文將介紹如何使用Python有效地實(shí)現(xiàn)數(shù)據(jù)庫(kù)與Excel文件之間的數(shù)據(jù)自動(dòng)化導(dǎo)入與導(dǎo)出,以SQLite數(shù)據(jù)庫(kù)為例,需要的朋友可以參考下
    2024-06-06
  • python 操作hive pyhs2方式

    python 操作hive pyhs2方式

    今天小編就為大家分享一篇python 操作hive pyhs2方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python使用paramiko操作linux的方法講解

    Python使用paramiko操作linux的方法講解

    今天小編就為大家分享一篇關(guān)于Python使用paramiko操作linux的方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Python argparse 解析命令行參數(shù)模塊詳情

    Python argparse 解析命令行參數(shù)模塊詳情

    這篇文章主要介紹了Python argparse 解析命令行參數(shù)模塊詳情,argparse是python用于解析命令行參數(shù)和選項(xiàng)的標(biāo)準(zhǔn)模塊,用于代替已經(jīng)過(guò)時(shí)的optparse模塊
    2022-07-07
  • Python 3.6 -win64環(huán)境安裝PIL模塊的教程

    Python 3.6 -win64環(huán)境安裝PIL模塊的教程

    PIL功能非常強(qiáng)大,但API卻非常簡(jiǎn)單易用。這篇文章主要介紹了Python 3.6 -win64環(huán)境安裝PIL模塊的教程,需要的朋友可以參考下
    2019-06-06
  • Python 列表排序方法reverse、sort、sorted詳解

    Python 列表排序方法reverse、sort、sorted詳解

    本文給大家介紹的是Python中列表排序方法中的reverse、sort、sorted操作方法,以及他們直接的區(qū)別介紹,有需要的小伙伴可以參考下。
    2016-01-01
  • python基于turtle繪制幾何圖形

    python基于turtle繪制幾何圖形

    turtle又稱為海龜繪圖,是Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所創(chuàng)造的 Logo 編程語(yǔ)言的python實(shí)現(xiàn)。turtle是基于tkinter圖形界面設(shè)計(jì)的。
    2021-06-06

最新評(píng)論

合水县| 西贡区| 富锦市| 吴旗县| 海门市| 鄄城县| 清镇市| 景宁| 浦江县| 江门市| 崇阳县| 彭山县| 水富县| 施甸县| 精河县| 托克托县| 梁平县| 昔阳县| 深泽县| 白河县| 革吉县| 平武县| 崇仁县| 邓州市| 六安市| 灵宝市| 运城市| 福贡县| 吉水县| 东阳市| 赫章县| 资溪县| 股票| 广元市| 民县| 香港| 田阳县| 沈丘县| 轮台县| 新余市| 石泉县|