文章目录
无限循环countcyclerepeat
有限accumulatechain更多
开发环境为WIN10+Python 3.6.5,直接上代码,看注释
无限循环
count
import time
from itertools import *
for i in count(10): # count从10开始无限制的往后迭代,默认以1为步长,可以指定为第二个参数
print(i)
time.sleep(2)
cycle
import time
from itertools import *
for i in cycle([1, 2, 3]): # cycle无限制的遍历参数,这里可以是字符串,那么就会遍历里面的每个元素,遍历到最后,又重新开始
print(i)
time.sleep(1)
repeat
import time
from itertools import *
# repeat重复产生第一个参数,如果不指定第二个参数,那么会无限制的重复,如果指定了第二个参数,那么产生指定的次数
for i in repeat(1, 2):
print(i)
time.sleep(1)
有限
accumulate
from operator import mul
from itertools import *
# accumulate会进行累加的操作,1, 1+2, 1+2+3, 1+2+3+4
for i in accumulate([1, 2, 3, 4]):
print(i) # 结果是1, 3, 6, 10
print('-' * 100)
# accumulate的第二个参数
for i in accumulate([1, 2, 3, 4], mul):
print(i) # 结果是1, 2, 6, 24
print('-' * 100)
for i in accumulate([1, 2, 3, 4], lambda a, b: a - b):
print(i) # 结果是1, -1, -4, -8
chain
from itertools import *
for i in chain('AB', 'CD'):
print(i) #结果是 A B C D
for i in chain.from_iterable(['AB', 'CD']):
print(i) #结果是 A B C D
更多