出现python内置迭代:itertools

  

无限循环序列:itertools。周期

<>以前import  itertools   时间=cs  itertools.cycle (& # 39; abc # 39;), #,注意字符串也是序列的一种   for  c  cs拷贝:   ,,,印刷(c)

运行结果:

<>之前   B   C   一个   B   C   :   :


无限循环数字:itertools。数

 # !/usr/bin/python
  # - *安康;utf-8  - * -
  
  出现import  itertools
  
  naturals =, count (1)
  for  x 天然拷贝:
  ,,,print  x 

运行结果:

 1
  2
  3.
  :
  :


有限循环1:itertools.repeat ,通过参数进行设置

 import  itertools
  
  时间=ns  itertools.repeat(& # 39;一个# 39;,,3)
  for  n  ns拷贝:
  ,,,印刷(n) 

<>之前   一个   


有限循环2:itertools.takewhile 通过判断进行限制

 import  itertools
  
  natuals =, count (1)
  时间=ns  itertools.takewhile (lambda  x:, x  & lt;=, 10日,自然)
  print (列表(ns) 

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


有限循环3:itertools.chain ,将两个参数连接起来循环一遍

 import  itertools
  
  for  c  itertools.chain拷贝(& # 39;abc # 39;,, & # 39; xyz # 39;):
  ,,,印刷(c) 

<>之前   B   C   X   Y   Z


有限迭代4:itertools.groupby ,将邻近重复的分组

 import  itertools
  
  for 关键,group 拷贝itertools.groupby (& # 39; AAABBBdCCAAAd& # 39;):
  ,,,(打印键,,列表(集团))

 A [& # 39;一个# 39;,,& # 39;一个# 39;,,& # 39;一个# 39;】
  B  [& # 39; b # 39;,, & # 39; b # 39;,, & # 39; b # 39;】
  d  [& # 39; d # 39;】
  C  [& # 39; c # 39;,, & # 39; c # 39;】
  A [& # 39;一个# 39;,,& # 39;一个# 39;,,& # 39;一个# 39;】
  d  [& # 39; d # 39;] 

忽略大小写

 import  itertools
  
  for 关键,group 拷贝itertools.groupby (& # 39; AaaBBbcCAAa& # 39;,, lambda  c:, c.upper ()):
  ,,,(打印键,,列表(集团))

 A [& # 39;一个# 39;,,& # 39;一个# 39;,,& # 39;一个# 39;】
  B  [& # 39; b # 39;,, & # 39; b # 39;,, & # 39; b # 39;】
  C  [& # 39; c # 39;,, & # 39; c # 39;】
  A [& # 39;一个# 39;,,& # 39;一个# 39;,,& # 39;一个# 39;]


出现python内置迭代:itertools