溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python 內置迭代:itertools

發(fā)布時間:2020-10-26 09:41:39 來源:網(wǎng)絡 閱讀:656 作者:虎皮喵的喵 欄目:編程語言

無限循環(huán) 序列:itertools.cycle

import itertools
cs = itertools.cycle('ABC') # 注意字符串也是序列的一種
for c in cs:
    print(c)

運行結果:

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

運行結果:

1
2
3
:
:


有限循環(huán)1:itertools.repeat   通過參數(shù)進行設置

import itertools

ns = itertools.repeat('A', 3)
for n in ns:
    print(n)

運行結果:

A
A
A


有限循環(huán)2:itertools.takewhile  通過判斷進行限制

import itertools

natuals = itertools.count(1)
ns = itertools.takewhile(lambda x: x <= 10, natuals)
print (list(ns))

運行結果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


有限循環(huán)3:itertools.chain   將兩個參數(shù)連接起來循環(huán)一遍

import itertools

for c in itertools.chain('ABC', 'XYZ'):
    print(c)

運行結果:

A
B
C
X
Y
Z


有限迭代4:itertools.groupby   將鄰近重復的分組

import itertools

for key, group in itertools.groupby('AAABBBdCCAAAd'):
    print(key, list(group))

運行結果:

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))

運行結果:

A ['A', 'a', 'a']
B ['B', 'B', 'b']
C ['c', 'C']
A ['A', 'A', 'a']


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI