파이썬 itertools 작업 반복 가능 객체

파이썬은 많은 내장 모듈을 제공하는 객체를 동작의 반복 방법을 itertools

참고 링크 : https://www.liaoxuefeng.com/wiki/1016959663602400/1017783145987360

무제한 반복자

  카운트()

  그것은 무한 반복자는 자연수를 생산하는 데 사용될 수 있습니다 반환

>>> itertools 가져올 
>>> natuals는 =. (1)을 방해 할 수있다 itertools.count 1 # 0으로부터 기본적으로 생략한다. 
natuals N-에 대한 >>> : 
... 인쇄 (N-) 
... 
. (1) 
(2) 
. (3) 
... 사이클이 종료 Ctrl 키 + C를하지 않는 한 무기한 계속

 

  주기()

  들어오는 윌 순서가 무한정 계속

itertools 가져올 >>> 
>>> itertools.cycle CS = ( '는 ABC') 문자열 시퀀스임을 # 참고 
CS에 대한 >>> C : 
... 출력 (C) 
... 
'A' 
'B는 ' 
'C '를 
'A ' 
'B ' 
'C '을 
...

 

  반복()

  repeat()요소에 대한 책임이 무한히 계속되지만 두 번째 매개 변수의 개수를 정의 할 경우, 반복

 

  만 무한 시퀀스를 for반복 객체를 생성하는 경우에만 반복 반복 실제로는 메모리에있는 요소의 수를 무제한으로 만들 수 없다, 그것의 요소의 무한한 수를 생성하기 위해 진행되지 않는, 무한정 갈 것입니다. 

  반복 무한 무한 순서로 가고 있지만, 그러나 우리는 일반적으로 통해 것입니다 takewhile()조건에 따라 다른 기능 제한 순서를 차단합니다 :

>>> natuals itertools.count = 1 
>>> NS = itertools.takewhile (람다 X : X <= 10 natuals) 
>>> 목록 (NS) 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

  

여러 번 반복 운전 기능

  체인()

  chain()객체는 큰 반복자 형성 함께 반복들의 세트 일 수있다 :

>>> itertools.chain ( 'ABC', 'XYZ')에 대한 C : 
... 인쇄 (c) 
#迭代效果: 'A', 'B', 'C', 'X', 'Y', 'Z'

  

GROUPBY ()

  groupby()반복자 인접한 반복 요소 함께 지목 :

>>> 키 그룹 itertools.groupby IN ( 'AAAAABBBCCWW')의 경우 : 
... 인쇄 (키리스트 (그룹)) #注意这里리스트 ()的
... 
A [ 'A', 'A', ' A ','A ','A '] 
B ['B ','B ','B '] 
C ['C ','C '] 
W [', 'W W']

  선택 규칙이 실제로 한 값이 두 요소에 사용되는 함수에 의해 수행 함수의 반환과 동일하다,이 두 가지 요소는 그룹에있는 것으로 간주하고, 기능 키로 설정된 값을 반환한다. 우리의 경우 그룹을 무시한다면, 우리는 요소를하도록 할 수 있습니다 'A''a'동일한 키를 반환 :

>>> 키 그룹 itertools.groupby IN ( 'AaaBBbcCAAa'람다 C : c.upper ())에 대한 
... 인쇄 (키리스트 (그룹)) 
... 
A [ 'A', 'A' , 'A'] 
B [ 'B', 'B', 'B'] 
C [ 'C', 'C'] 
A [ 'A', 'A', 'A']

  

추천

출처www.cnblogs.com/Gaoqiking/p/11616268.html