2014.06.01 17:08

python iterator 관련 tiertools 패키지 및 메소드 정리 



http://docs.python.org/2/library/itertools.html


from itertools import *

 

 

 

count(n) : n 부터 시작하는 정수,증가하는 이터레이터

 

cycle(list) : list반복하는 it

 

repeat(elem, n) : elem을 n번 반복하는 이터레이터

 

chain(p,q) : p에 q를 붙인 it

 

compress(data, selector) : data에서 selector에 충족하는것만

 

dropwhile(pred,seq) : pred에 seq를 대입해서 참일때까지 떨구고, 나머지부터 iter

 

takewhile() : 조건이 참일때까지 iterate.

 

ifilter(pred,seq) : 이터레이터 필터, seq중에 조건에 참인걸 나타냄

 

ifilerfalse(pres, seq) : 거짓인걸 나타냄

 

imap(func, p, q) iterator map   ex imap(pow,(2,3,10), (5,2,3))

 

strmap(func, seq) : ex strmap(pow, [(2,5),(3,2),(10,3)])

 

tee(it, n) : 한 이터레이터를 n개로 나눈다. 라고 써있는것같은데.. 복사인듯, n개의 it가 각각 같은 반복을 함..

 

 

 

이건 수학시간때 배웠을법한.. 경우의수인가..

product('ABCD', repeat=2)  

AA AB AC AD 

BA BB BC BD 

CA CB CC CD 

DA DB DC DD

 

permutations('ABCD', 2)

AB AC AD BA 

BC BD CA CB 

CD DA DB DC

 

combinations('ABCD', 2)

AB AC AD BC BD CD

 

combinations_with_replacement('ABCD', 2)

AA AB AC AD 

BB BC BD 

CC CD 

DD




Posted by k1rha