Python中itertools簡介使用介紹
Python中itertools模塊
一、 簡介
itertools是python內置的模塊,使用簡單且功能強大
官方文檔地址:https://docs.python.org/zh-cn/3/library/itertools.html
itertools模塊標準化瞭一個快速、高效利用內存的核心工具集,這些工具本身或組合都很有用。它們一起形成瞭“迭代器代數”,這使得在純Python中有可能創建簡潔又高效的專用工具。
同時,itertools模塊是python的內置庫,我們可以直接使用,不需要進行額外的安裝
這裡講解一些常用的函數,其餘函數請到官方文檔查看學習。
二、 使用介紹
1、 常用迭代器
1.1 chain
函數介紹:chain可以把一組迭代對象串聯起來,形成一個更大的迭代器
語法:(class) chain(*iterables: Iterable[str])
import itertools l1 = ["A", "B"] l2 = ["C", "D"] print(list(itertools.chain(l1, l2))) # 將兩個列表展開,當然,也可以用到一些可迭代對象裡面去,比如說字符串等,返回一個可迭代對象
1.2 groupby
函數介紹:groupby 把迭代器中相鄰的重復元素(key)挑出來放一起
語法:(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)) """結合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、 無窮迭代器
2.1 count
函數作用:生成無界限序列,count(start=0, step=1) ,示例從100開始,步長為2,循環10,打印對應值;必須手動break,count()會一直循環。
語法:count(start: int, [step: _Step = ...])
import itertools for i in itertools.count(10): print(i)=
2.2 cycle
函數作用:對可迭代容器裡面的元素進行無限循環
語法:(class) cycle(__iterable: Iterable[int], /)
import itertools for i in itertools.cycle(range(10)): print(i)
2.3 repeat
函數作用:對可迭代容器裡面的元素重復times次
語法:repeat(object: range, times: int)
import itertools for i in itertools.repeat(range(10), 2): print(i)
3、排列組合迭代器
3.1 product
函數作用:返回笛卡爾積,相當於嵌套的for循環,重復repeat次
語法:product(*iterables: Iterable, repeat: int = 1)
import itertools for i in itertools.product([1, 2], ["A", "B", "C"]): print(i)
3.2 permutations
函數作用:生成一個長度為r的元組,元組中存放所有可能的排列,無重復元素
語法:(class) permutations(iterable: Iterable, r: int | None = ...)
import itertools for i in itertools.permutations([1, 2, 3], 3): # r的默認值為2 print(i)
3.3 combinations
函數作用:生成一個長度為r的元組,有序,並且無重復元素
語法:(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
函數作用:生成一個長度為r的元組,有序,有重復元素
import itertools for i in itertools.combinations_with_replacement([1, 2, 3], 3): print(i)
這些是一些常用的迭代器函數,如果還想要更加深入的瞭解的話,可以去官方文檔查看!
到此這篇關於Python中itertools簡介使用介紹的文章就介紹到這瞭,更多相關Python中itertools內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python編程itertools模塊處理可迭代集合相關函數
- Python函數式編程中itertools模塊詳解
- 分享9個好用的Python技巧
- Python 的 sum() Pythonic 的求和方法詳細
- Python實現暴力破解有密碼的zip文件的方法