激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

2022-03-04 00:18Python學(xué)習(xí)與數(shù)據(jù)挖掘 Python

大家好,今天這篇文章我將詳細(xì)講解 Pipe 如何讓你的代碼更加簡潔的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

我們知道 map 和 filter 是兩種有效的 Python 方法來處理可迭代對象。

但是,如果你同時使用 map 和 filter,代碼可能看起來很混亂。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

如果你可以使用管道那不是更好了?像下面這樣的方式來處理。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

Pipe 庫可以做到這一點。

 

什么是管道?

Pipe 是一個 Python 庫,可讓你在 Python 中使用管道。

管道 (|) 將一種方法的結(jié)果傳遞給另一種方法。

我喜歡 Pipe,因為它使我的代碼將多個方法應(yīng)用于 Python 可迭代對象時看起來更簡潔。由于 Pipe 只提供了幾個方法,所以學(xué)習(xí)Pipe也很容易。 在本文中,我將向你展示一些我認(rèn)為最有用的方法。

要安裝Pipe,請輸入:

pip install pipe

 

Where:可迭代對象中的過濾元素

與 SQL 類似,Pipe 的 where 方法也可用于過濾可迭代對象中的元素。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

 

Select: 將函數(shù)應(yīng)用于可迭代對象

select方法類似于map方法。

select 將方法應(yīng)用于可迭代的每個元素。

在下面的代碼中,我使用 select 將列表中的每個元素乘以 2。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

現(xiàn)在,你可能想知道:如果 map 和 filter 具有相同的功能,為什么我們需要 where 和 select 方法?

這是因為你可以使用管道在另一個方法之后插入一個方法。 因此,使用管道消除了嵌套的括號并使代碼更具可讀性。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

 

展開可迭代對象

1、chain方法

使用嵌套的可迭代對象可能會很痛苦。 幸運的是,我們可以使用 chain 來鏈接一系列可迭代對象。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

盡管應(yīng)用 chain 可以使可迭代對象的嵌套較少,我們?nèi)匀恍枰粋€更強大的工具。 為了處理深度嵌套的列表,我們可以使用 traverse 代替。

2、traverse:遞歸展開可迭代對象

traverse 方法可用于遞歸展開可迭代對象。 你可以使用此方法將深度嵌套的列表轉(zhuǎn)換為平面列表。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

讓我們將此方法與 select 方法集成以獲取字典的值并展平列表。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

這樣處理是不是很酷?

 

將列表中的元素分組

有時,使用特定函數(shù)對列表中的元素進行分組可能很有用。 這可以通過 groupby 方法輕松完成。

為了看看這個方法是如何工作的,讓我們把一個數(shù)字列表變成一個字典,這個字典根據(jù)數(shù)字是偶數(shù)還是奇數(shù)來分組。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

在上面的代碼中,我們使用 groupby 將數(shù)字分組為偶數(shù)組和奇數(shù)組。 應(yīng)用此方法后的輸出如下所示:

[('Even', <itertools._grouper at 0x7fbea8030550>),
('Odd', <itertools._grouper at 0x7fbea80309a0>)]

接下來,我們使用 select 將元組列表轉(zhuǎn)換為字典列表,其鍵是元組中的第一個元素,值是元組中的第二個元素。

[{'Even': [2, 4, 6, 8]}, {'Odd': [1, 3, 5, 7, 9]}]

為了只獲取大于 2 的值,我們可以在 select 方法中添加 where 方法:

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

 

dedup 方法刪除列表中的重復(fù)項

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

這聽起來可能并不有趣,因為 set 方法可以做同樣的事情。 但是,此方法更靈活,可以讓你獲取唯一元素。

例如,你可以使用此方法獲取一個小于 5 的唯一元素和另一個大于或等于 5 的唯一元素。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

現(xiàn)在,讓我們將此方法與 select 結(jié)合起來,從哪里獲取具有重復(fù)鍵和 None 值的字典的值。

python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

在上面的代碼中,我們:

  • 刪除具有相同名稱的項目
  • 獲取計數(shù)值
  • 只選擇整數(shù)值。

在幾行代碼中,我們可以將多個方法應(yīng)用于可迭代對象,同時仍然可以保持代碼整潔,不是嗎?

 

結(jié)論

剛剛我們學(xué)習(xí)了如何使用管道來保持代碼簡潔簡潔, 我希望這篇文章能讓你了解到可迭代對象上的復(fù)雜操作其實只需要一行簡單的代碼。

以上就是python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)雅代碼的詳細(xì)內(nèi)容,更多關(guān)于Python管道Pipe 編寫代碼的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/weixin_38037405/article/details/121299624

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久免费毛片 | 成人免费在线视频 | 亚洲午夜在线观看 | www.9191.com| 海外中文字幕在线观看 | 最新福利在线 | 正在播放91| 毛片在线免费 | 日韩视频一二三 | 91精品国产综合久久男男 | 91懂色 | 久久91精品 | 毛片一级片 | 香蕉久草在线 | 日韩黄色精品视频 | 欧美国产成人在线 | 精品亚洲夜色av98在线观看 | 午夜久| 黄视频网站免费 | 午夜视频在线免费观看 | 久久精品视频3 | 免费一级毛片电影 | 久久久久亚洲视频 | v11av在线播放 | 精品亚洲va在线va天堂资源站 | 一级毛片免费高清 | 欧美日韩亚洲精品一区二区三区 | 欧美www| 欧洲精品视频在线观看 | 九色 在线 | www日韩在线观看 | 精品国产91久久久久久久妲己 | 午夜伦情电午夜伦情电影 | 特级a欧美做爰片毛片 | 国产日韩在线观看一区 | 久久男 | 亚洲最大中文字幕 | 欧美爱爱视频网站 | 国产成人av免费看 | 国内精品久久久久久久久久久久 | 久久av电影院 |