python的內建模組,
提供了非常有用的用於操作迭代物件的函式。並且itertools相當高效且節省記憶體。
count(初值=0, 步長=1)
count 迭代器會返回從傳入的起始引數開始的均勻間隔的數值。count 也可以接收指定的步長引數。
from itertools import countfor i in count(10): #從10開始無限迴圈,預設步長等於1
if i > 20:
break
else:
print(i)
islice()
返回乙個迭代器,該迭代器的next()方法從
可迭代的如果指定start,則跳過前面的所有元素;
否則,start預設值為零。
step預設為1。如果
step指定為另乙個值,確定有多少個值
在連續呼叫之間跳過。
工作方式類似於列表中的slice(),
但是返回乙個迭代器。
from itertools import islice,count#方式一:islice(迭代物件, 迭代數量)
for i in islice(count(10), 5):
print(i)
for i in islice('abcdefghigk', 5):
print(i)
#方式二:islice(迭代物件, 開始索引,結束索引,步長)
#步長不寫預設為1
s=islice('abcdefghigk',1,4,2)
a=list(s)
print(a)
cycle(可迭代物件)
從可迭代物件中返回元素,直到它被耗盡。
然後無限地重複這個序列。
from itertools import cyclecount = 0
for item in cycle('xyz'):
if count > 7:
break
print(item)
count += 1
repeat()
把乙個元素無限重複下去,不過如果提供第二個引數就可以限定重複次數
from itertools import repeatns = itertools.repeat('abc', 3)
for n in ns:
print(n)
takewhile(判斷條件,迭代物件)
通過判斷條件,終止迭代
natuals = itertools.count(1)ns = itertools.takewhile(lambda x: x <= 10, natuals)
s=list(ns)
print(s)
chain(可迭代物件,可迭代物件,……)
chain()可以把一組及對個迭代物件串聯起來,形成乙個更大的迭代器:
個人感覺沒什麼卵用。
first=[['1','2','3','4','4'],['2','4','2']]print(*first)
x=['abc','def']
print(*x)
for i in itertools.chain(*first,*x):
print(i)
python 內建函式 iter
本文主要想說明 如果iter 函式的引數是乙個容器物件,那麼iter 函式返回該容器物件的乙個新的迭代器。如果iter 函式的引數是乙個迭代器,那麼iter 函式返回輸入的迭代器。可以根據這個性質,連續執行兩次iter 判斷輸入iter 的是容器物件還是迭代器。直接上 usr bin env pyt...
python內建模組 Python 內建模組
內建模組 python有一套很有用的標準庫 standard library 標準庫會隨著python直譯器,一起安裝在你的電腦中的。它是python的 乙個組成部分。這些標準庫是python為你準備好的利器,可以讓程式設計事半功倍。常用標準庫 標準庫 說明 builtins 內建函式預設載入 os...
Python的內建模組
1 導包 導模組 import 模組名稱 包名稱 以os模組為例 通過dir 可以檢視該模組下的所有命令 import 包名稱 as 以os.path模組為例 給os.path重新命名,加快導包速度。from 包名稱 import 建議使用方法 以os.path模組為例 2 os模組 os.cpu ...