itertools模块


前言

为高效循环而创建迭代器的函数。

官方文档:https://docs.python.org/zh-cn/3/library/itertools.html

product

参数:(*iterables, repeat=1)

product('AB', 'xy') #--> ('A', 'x'),('A', 'y'),('B', 'x'),('B', 'y')
product(range(2), repeat=3) #--> 2*2*2,8个元组

# 笛卡儿积

permutations

参数:(iterable, r=None)

permutations('ABCD', 2)  # --> AB AC AD BA BC BD CA CB CD DA DB DC
permutations(range(3))   # --> 012 021 102 120 201 210

combinations

参数:(iterable, r)

combinations('ABCD', 2)   # --> AB AC AD BC BD CD
combinations(range(4), 3) # --> 012 013 023 123

combinations_with_replacement

参数:(iterable, r)

combinations_with_replacement('ABC', 2) #--> AA AB AC BB BC CC

#允许元素重复出现

accumulate

参数:(iterable[, func, *, initial=None])

accumulate([1,2,3,4,5])               #--> 1 3 6 10 15
accumulate([1,2,3,4,5], initial=100)  #--> 100 101 103 106 110 115
accumulate([1,2,3,4,5], operator.mul) #--> 1 2 6 24 120

other

无限迭代器:repeat(), count(), cycle()


文章作者: ╯晓~
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 ╯晓~ !
评论
  目录