Python 의 map() 과 zip() - map( ) : https://docs.python.org/ko/3.7/library/functions.html#map map ( function , iterable , ... ) iterable 의 모든 항목에 function 을 적용한 후 그 결과를 돌려주는 이터레이터를 돌려줍니다. 추가 iterable 인자가 전달되면, function 은 그 수 만큼의 인자를 받아들여야 하고 모든 이터러블에서 병렬로 제공되는 항목들에 적용됩니다. 다중 이터러블의 경우, 이터레이터는 가장 짧은 이터러블이 모두 소모되면 멈춥니다. 함수 입력이 이미 인자 튜플로 배치된 경우에는, itertools.starmap() 를 보세요. - zip() : https://docs.python.org/ko/3.7/library/functions.html#zip zip ( *iterables ) 각 iterables 의 요소들을 모으는 이터레이터를 만듭니다. 튜플의 이터레이터를 돌려주는데, i 번째 튜플은 각 인자로 전달된 시퀀스나 이터러블의 i 번째 요소를 포함합니다. 이터레이터는 가장 짧은 입력 이터러블이 모두 소모되면 멈춥니다. 하나의 이터러블 인자를 사용하면, 1-튜플의 이터레이터를 돌려줍니다. 인자가 없으면, 빈 이터레이터를 돌려줍니다. map(str , [1,2,3]) 의 결과는 ['1','2','3'] 1,2,3 이라는 숫자가 각각 str함수를 거쳐서 문자열 1,2,3 으로 바뀐다. 만약 x2 라는 함수를 아래와 같이 정의하면 def x2(x): return x*2 map(x2, [1,2,3]) 의 결과는 [2,4,6] map의 인자가 iterable 하기만 하면 됨. zip은 ['a','b','c'] 와 [1,2,3] 이라