📌 itertools
파이썬 내장 모듈 중 하나로 반복가능한 데이터를 다루는데 유용한 도구를 제공. 반복문과 관련된 작업을 간단하게 만들어줌
my_list = [[1, 2], [3, 4], [5, 6]]
# 방법 1 - sum 함수
answer = sum(my_list, [])
# 방법 2 - itertools.chain
import itertools
list(itertools.chain.from_iterable(my_list))
# 방법 3 - itertools와 unpacking
import itertools
list(itertools.chain(*my_list))
# 방법 4 - list comprehension 이용
[element for array in my_list for element in array]
# 방법 5 - reduce 함수 이용 1
from functools import reduce
list(reduce(lambda x, y: x+y, my_list))
# 방법 6 - reduce 함수 이용 2
from functools import reduce
import operator
list(reduce(operator.add, my_list))
sum > itertools.chain.from_iterable > itertools.chain > List comprehension > reduce with lambda > reduce
import itertools
# 각각의 리스트를 인자로 전달
chain_example = itertools.chain([1, 2, 3], [4, 5, 6])
for item in chain_example:
print(item)
# 1~6까지 숫자를 출력
import itertools
# 이터러블들의 리스트를 하나의 인자로 전달
chain_from_iterable_example = itertools.chain.from_iterable([[1, 2, 3], [4, 5, 6]])
for item in chain_from_iterable_example:
print(item)
# 1~6까지 출력