functools.reduce(function, iterator, initializer = None)
Python. Asterisk(*) Operator
Python은 타 언어에 비해 다양한 연산을 지원합니다. 그 중에서도 Asterisk(*) Operator
는 단순 연산을 포함한 여러 기능을 포함하고 있습니다.
Python. Lambda Expression
Lambda Expression는 코드가 식의 형태를 띄고 있어 ‘람다 표현식(이하 람다)’으로 표현되며, 익명 함수를 만들 때 사용됩니다. 익명 함수란, 함수 선언 시 함수명을 정의해야 하는 기존 함수와는 달리, 함수명 없이도 정의할 수 있는 함수를 의미합니다. 기존의 함수는 함수가 정의되는 순간 메모리에 올라가 호출되기를 기다립니다. 반면, 람다는 실행 이후 메모리 영역에서 제거됩니다. 따라서, 한 번만 사용될 함수라면 람다로 정의하는 것이 좋습니다.
Python. Generator
Generator(제너레이터)는 Iterator를 반환하는 함수이며, yield
키워드를 사용하여 생성할 수 있습니다. 함수 내에서 yield
를 사용하면 함수는 제너레이터를 반환합니다. 제너레이터는 모든 결과값을 메모리에 저장하지 않기 때문에 좋은 성능을 낼 수 있습니다.
Python. Iterator
파이썬 내장 함수인 iter
와 next
는 Iterable한 객체를 다룰 때 사용됩니다. iter
은 __iter__
함수를 호출하고, next
는 __next__
함수를 호출합니다. iter
는 Iterable한 객체에 대한 Iterator를 반환하고, next
는 Iterator의 요소를 차례대로 반환합니다.
Python. itertools.chain()
itertools.chain(*iterables)
Python. itertools.accumulate()
itertools.accumulate(iterable: Iterable[, func])
Python. itertools.product()
itertools.product(*args(iterator), repeat)
Python. itertools.combinations()
itertools.combinations(iterators, r)
Python. itertools.permutations()
itertools.permutations(iterators, r)