itertools 패키지에는 에는 여러 유용한 클래스들이 있는데 itertools.combination을 사용하다가 지속적으로 내용물이 사라지는 경험을 했다. itertools.combination에 있는 내용물을 list로 받아온 뒤에 다시 이 내용물을 print 해보니 아무것도 없다는 것을 발견했기 때문이다.
itertools 는 파이썬 이터레이터이고 파이썬 이터레이너는 한번 consume 한 뒤에는 다시 반복해서 꺼낼 수 없다.
이 경우 다시 사용하고 싶을 때에는 꺼낸 객체를 변수로 지정해두거나, 다시 이터레이터를 선언하는 것 뿐이다.
arr = list(itertools.combinations([1,2,3],2))
combination이외에 다른 이터레이터들도 마찬가지다.
많은 도움이 되었습니다, 감사합니다.