Python中itertools簡(jiǎn)介使用介紹
Python中itertools模塊
一、 簡(jiǎn)介
itertools是python內(nèi)置的模塊,使用簡(jiǎn)單且功能強(qiáng)大
官方文檔地址:https://docs.python.org/zh-cn/3/library/itertools.html
itertools模塊標(biāo)準(zhǔn)化了一個(gè)快速、高效利用內(nèi)存的核心工具集,這些工具本身或組合都很有用。它們一起形成了“迭代器代數(shù)”,這使得在純Python中有可能創(chuàng)建簡(jiǎn)潔又高效的專用工具。
同時(shí),itertools模塊是python的內(nèi)置庫(kù),我們可以直接使用,不需要進(jìn)行額外的安裝
這里講解一些常用的函數(shù),其余函數(shù)請(qǐng)到官方文檔查看學(xué)習(xí)。
二、 使用介紹
1、 常用迭代器
1.1 chain
函數(shù)介紹:chain可以把一組迭代對(duì)象串聯(lián)起來(lái),形成一個(gè)更大的迭代器
語(yǔ)法:(class) chain(*iterables: Iterable[str])
import itertools l1 = ["A", "B"] l2 = ["C", "D"] print(list(itertools.chain(l1, l2))) # 將兩個(gè)列表展開(kāi),當(dāng)然,也可以用到一些可迭代對(duì)象里面去,比如說(shuō)字符串等,返回一個(gè)可迭代對(duì)象
1.2 groupby
函數(shù)介紹:groupby 把迭代器中相鄰的重復(fù)元素(key)挑出來(lái)放一起
語(yǔ)法:(class) groupby(iterable: Iterable[_T1@__new__], key: None = ...)
import itertools
for key, value in itertools.groupby("hello world! My name is Steve Anthony"):
print(key, list(value))
"""結(jié)合key使用"""
import itertools
data = [
(1, "Make", 93),
(1, "Jack", 100),
(2, "Lucy", 90)
]
for key, value in itertools.groupby(data, key=lambda student: student[0]):
print(key, list(value))2、 無(wú)窮迭代器
2.1 count
函數(shù)作用:生成無(wú)界限序列,count(start=0, step=1) ,示例從100開(kāi)始,步長(zhǎng)為2,循環(huán)10,打印對(duì)應(yīng)值;必須手動(dòng)break,count()會(huì)一直循環(huán)。
語(yǔ)法:count(start: int, [step: _Step = ...])
import itertools
for i in itertools.count(10):
print(i)=2.2 cycle
函數(shù)作用:對(duì)可迭代容器里面的元素進(jìn)行無(wú)限循環(huán)
語(yǔ)法:(class) cycle(__iterable: Iterable[int], /)
import itertools
for i in itertools.cycle(range(10)):
print(i)2.3 repeat
函數(shù)作用:對(duì)可迭代容器里面的元素重復(fù)times次
語(yǔ)法:repeat(object: range, times: int)
import itertools
for i in itertools.repeat(range(10), 2):
print(i)3、排列組合迭代器
3.1 product
函數(shù)作用:返回笛卡爾積,相當(dāng)于嵌套的for循環(huán),重復(fù)repeat次
語(yǔ)法:product(*iterables: Iterable, repeat: int = 1)
import itertools
for i in itertools.product([1, 2], ["A", "B", "C"]):
print(i)3.2 permutations
函數(shù)作用:生成一個(gè)長(zhǎng)度為r的元組,元組中存放所有可能的排列,無(wú)重復(fù)元素
語(yǔ)法:(class) permutations(iterable: Iterable, r: int | None = ...)
import itertools
for i in itertools.permutations([1, 2, 3], 3): # r的默認(rèn)值為2
print(i)3.3 combinations
函數(shù)作用:生成一個(gè)長(zhǎng)度為r的元組,有序,并且無(wú)重復(fù)元素
語(yǔ)法:(class) combinations(iterable: Iterable[_T@__new__], r: Literal[2])
import itertools
for i in itertools.combinations([1, 2, 3], 3):
print(i)3.4 combinations_with_replacement
函數(shù)作用:生成一個(gè)長(zhǎng)度為r的元組,有序,有重復(fù)元素
import itertools
for i in itertools.combinations_with_replacement([1, 2, 3], 3):
print(i)這些是一些常用的迭代器函數(shù),如果還想要更加深入的了解的話,可以去官方文檔查看!
到此這篇關(guān)于Python中itertools簡(jiǎn)介使用介紹的文章就介紹到這了,更多相關(guān)Python中itertools內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python迭代器模塊itertools常用的方法
- Python中itertools模塊的使用教程詳解
- Python中itertools庫(kù)的四個(gè)函數(shù)介紹
- 淺析Python自帶性能強(qiáng)悍的標(biāo)準(zhǔn)庫(kù)itertools
- python中itertools模塊使用小結(jié)
- 關(guān)于Python 內(nèi)置庫(kù) itertools
- Python函數(shù)式編程中itertools模塊詳解
- Python編程itertools模塊處理可迭代集合相關(guān)函數(shù)
- 關(guān)于Python中 循環(huán)器 itertools的介紹
- 詳解python itertools功能
- python排列組合庫(kù)itertools的具體使用
相關(guān)文章
python問(wèn)題匯總之pycharm查找不到安裝的庫(kù)解決
這篇文章主要給大家介紹了關(guān)于python問(wèn)題匯總之pycharm查找不到安裝庫(kù)的解決方法,PyCharm是一款非常流行的Python集成開(kāi)發(fā)環(huán)境(IDE),它提供了豐富的功能和插件,可以幫助程序員更高效地編寫(xiě)Python代碼,需要的朋友可以參考下2023-09-09
Pytorch搭建YoloV4目標(biāo)檢測(cè)平臺(tái)實(shí)現(xiàn)源碼
這篇文章主要為大家介紹了Pytorch搭建YoloV4目標(biāo)檢測(cè)平臺(tái)實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
解決pandas中讀取中文名稱的csv文件報(bào)錯(cuò)的問(wèn)題
今天小編就為大家分享一篇解決pandas中讀取中文名稱的csv文件報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
在自動(dòng)化中用python實(shí)現(xiàn)鍵盤操作的方法詳解
今天小編就為大家分享一篇在自動(dòng)化中用python實(shí)現(xiàn)鍵盤操作的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
通過(guò)數(shù)據(jù)庫(kù)向Django模型添加字段的示例
這篇文章主要介紹了通過(guò)數(shù)據(jù)庫(kù)向Django模型添加字段的示例,Django是人氣最高的Python web開(kāi)發(fā)框架,需要的朋友可以參考下2015-07-07
python Pandas中數(shù)據(jù)的合并與分組聚合
大家好,本篇文章主要講的是python Pandas中數(shù)據(jù)的合并與分組聚合,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
python實(shí)現(xiàn)數(shù)字炸彈游戲程序
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)數(shù)字炸彈游戲程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
Pytorch基本變量類型FloatTensor與Variable用法
今天小編就為大家分享一篇Pytorch基本變量類型FloatTensor與Variable用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01

