無限循環(huán) 序列:itertools.cycle
為船山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及船山網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、船山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
import itertools cs = itertools.cycle('ABC') # 注意字符串也是序列的一種 for c in cs: print(c)
運(yùn)行結(jié)果:
A B C A B C : :
無限循環(huán) 數(shù)字:itertools.count
#!/usr/bin/python #-*- utf-8 -*- import itertools naturals = itertools.count(1) for x in naturals: print x
運(yùn)行結(jié)果:
1 2 3 : :
有限循環(huán)1:itertools.repeat 通過參數(shù)進(jìn)行設(shè)置
import itertools ns = itertools.repeat('A', 3) for n in ns: print(n)
運(yùn)行結(jié)果:
A A A
有限循環(huán)2:itertools.takewhile 通過判斷進(jìn)行限制
import itertools natuals = itertools.count(1) ns = itertools.takewhile(lambda x: x <= 10, natuals) print (list(ns))
運(yùn)行結(jié)果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
有限循環(huán)3:itertools.chain 將兩個(gè)參數(shù)連接起來循環(huán)一遍
import itertools for c in itertools.chain('ABC', 'XYZ'): print(c)
運(yùn)行結(jié)果:
A B C X Y Z
有限迭代4:itertools.groupby 將鄰近重復(fù)的分組
import itertools for key, group in itertools.groupby('AAABBBdCCAAAd'): print(key, list(group))
運(yùn)行結(jié)果:
A ['A', 'A', 'A'] B ['B', 'B', 'B'] d ['d'] C ['C', 'C'] A ['A', 'A', 'A'] d ['d']
忽略大小寫
import itertools for key, group in itertools.groupby('AaaBBbcCAAa', lambda c: c.upper()): print(key, list(group))
運(yùn)行結(jié)果:
A ['A', 'a', 'a'] B ['B', 'B', 'b'] C ['c', 'C'] A ['A', 'A', 'a']