itertools模組的用法

2021-09-09 02:41:16 字數 1093 閱讀 9840

itertools模組是python的乙個內建模組,它提供了非常有用的用於操作迭代物件的函式。

>>> x=itertools.cycle('123')

>>> for i in x:

print(i)

輸出結果

『1』

『2』『3』

『1』『2』

…………

>>> import itertools

>>> natuals = itertools.count(1)

>>> for n in natuals:

print n

輸出結果

123

…………

有時為了擷取一定數量的迭代片段,還可以使用itertools.takewhile()等函式進行判斷

>>> natuals = itertools.count(1)

>>> ns = itertools.takewhile(lambda x: x <= 10, natuals)

>>> for n in ns:

... print n

...列印出1到10

>>> k=itertools.chain('abc','mnb')

>>> for i in k:

print(i)

輸出結果

abc

mnb

m=itertools.groupby('aaaaabbbbbccccc')

>>> for i,l in m:

print(i,list(l))

輸出結果

a ['a', 'a', 'a', 'a', 'a']

b ['b', 'b', 'b', 'b', 'b']

c ['c', 'c', 'c', 'c', 'c']

注意:此處groupby生成的是乙個字元以及其對應的列表

這兩個嚐嚐函式用於無限序列

迭代的模組itertools

itertools模組提供的全部是處理迭代功能的函式,他們的返回值不是list,而是迭代物件,只有在for迴圈的時候才會真正去計算。使用迭代器的好處是在迴圈的時候才去取值,而直接返回值為list的結果會占用大量的記憶體,從而使用迭代器的話,使用了惰計算的方式,或者是延遲計算,從而在效能上能好很多。在...

itertools模組的使用

打破順序,可能出現的所有情況,可能同乙個元祖中順序不同的情況下,元素相同 permutations 是排列函式 所有元素重排列為所有可能的情況 將元素之間的順序打亂成所有可能的情況 以元祖的形式返回。案例1 import itertools a 1,2,3 n 0 for i in itertool...

內建模組 itertools

python的內建模組itertools提供了非常有用的用於操作迭代物件的函式。首先,我們看看itertools提供的幾個 無限 迭代器 import itertools natuals itertools.count 1 for n in natuals print n 123 因為count 會...