파이썬은 많은 내장 모듈을 제공하는 객체를 동작의 반복 방법을 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']