Home » yield from

yield from

같은 것을 포함하는 순열 생성기 (Python)

OOO, XX 로 만들 수 있는 5글자 문자열을 모두 생성하는 방법을 소개한다. 총 5개의 글자로 만들 수 있는 순열은 5! (120) 가지이다. 그런데 같은 O 끼리와 같은 X 끼리는 구분할 수 없으므로 실제로는 5!/(3! * 2!) 가지로 10가지의 조합만 가능할 것이다. 파이썬의 itertools 에서는 순열, 조합 및 중복 순열과 중복 조합을 만드는 함수가 제공되지만 같은 것을 포함하는 순열을 생성하는 함수는 제공되지 않는다. 중복된 원소가 있을 때, 중복 없는 순열을 만드는 방법은 다음과 같이 생각해 볼 수 있다. OOOXX 의 5글자로… 더 보기 »같은 것을 포함하는 순열 생성기 (Python)

파이썬 yield from – 다른 코루틴에게 작업을 위임하기

파이썬에선 함수 내부에 yield 키워드가 쓰였다면 이는 일반적인 함수가 아니라 제너레이터를 만드는 제너레이터 함수(혹은 코루틴 함수)가 된다. 제너레이터는 next() 함수를 통해서 생성하는 값을 꺼낼 수 있고, 동시에 .send() 메소드를 써서 그 내부로 값을 전달할 수 있다. 특히 이렇게 값을 주입해 줄 수 있는 제너레이터를 코루틴이라 한다고 했다. 코루틴 혹은 제너레이터의 내부에서 다른 코루틴이나 제너레이터의 결과값을 그대로 사용하는 경우가 있을 수 있다. 예를 들어 다음의 경우, 주어진 값으로부터 1씩 내렸다가 다시 0부터 n-1까지 값을 생성하는 제너레이터가 있다고 하자. 이렇게 제너레이터 내부에서… 더 보기 »파이썬 yield from – 다른 코루틴에게 작업을 위임하기