[Python] itertools 사용 주의 사항

Kanto(칸토)·2023년 7월 28일

itertools 패키지에는 에는 여러 유용한 클래스들이 있는데 itertools.combination을 사용하다가 지속적으로 내용물이 사라지는 경험을 했다. itertools.combination에 있는 내용물을 list로 받아온 뒤에 다시 이 내용물을 print 해보니 아무것도 없다는 것을 발견했기 때문이다.
itertools 는 파이썬 이터레이터이고 파이썬 이터레이너는 한번 consume 한 뒤에는 다시 반복해서 꺼낼 수 없다.

이 경우 다시 사용하고 싶을 때에는 꺼낸 객체를 변수로 지정해두거나, 다시 이터레이터를 선언하는 것 뿐이다.

이터레이터를 꺼낸 후에 변수에 지정해두는 방법.

arr = list(itertools.combinations([1,2,3],2))

combination이외에 다른 이터레이터들도 마찬가지다.

profile
ML Product Engineer

1개의 댓글

comment-user-thumbnail
2023년 7월 28일

많은 도움이 되었습니다, 감사합니다.

답글 달기