[Python] itertools
곱집합을 해주려면 예를 들어 'ABCD' 'xy' 두 문자열을 Ax Ay Bx By Cx Cy 이렇게 묶어주려면 for문을 2개는 돌려야 할거다 그런데 itertools의 product를 이용하면 매우 간단하게 구현 가능 import itertools iterable1 = 'ABCD' iterable2 = 'xy' iterable3 = '1234' print(list(itertools.product(iterable1, iterable2, iterable3))) 이렇게 구현 가능! 이려면 [('A', 'x', '1'), ('A', 'x', '2'), ('A', 'x', '3'), ('A', 'x', '4'), ('A', 'y', '1'), ('A', 'y', '2'), ('A', 'y', '3'), ('A..
2021. 10. 10.
[Python] zip
zip(*iterables)는 각 iterables 의 요소들을 모으는 이터레이터를 만듭니다. 튜플의 이터레이터를 돌려주는데, i 번째 튜플은 각 인자로 전달된 시퀀스나 이터러블의 i 번째 요소를 포함합니다. 뭔 말인지 모르겠다. 간단히 내 말로 정리해보자면 zip에 인자로 넣어준 iterable한 변수들(tuple, list 등)을 쌍으로 맞춰서 tuple로 변환해주는 것 #보통은 다음과 같이 2중 for 문을 이용해 리스트의 row와 column을 뒤집습니다. mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] new_list = [[], [], []] for i in range(len(mylist)): for j in range(len(mylist[i])): new_list..
2021. 10. 10.