본문 바로가기

반응형

Generator

(3)
제너레이터와 yield (2) - 피보나치, 무한급수 제너레이터와 yield (1) 이번 포스트에서는 피보나치 수를 계산하는 함수를 리스트를 채워 넣는 방식과 제너레이터를 사용하는 방식으로 구현해 보겠습니다. 0부터 시작하는 피보나치 수를 계산합니다. def fibonacci_list(num_iters): numbers = [] a, b = 0, 1 while len(numbers) num_iters: break fibonacci_list 함수는 원하는 개수의 ..
Cholesky Decomposition (촐레스키 분해) - 파이썬 구현 [알고리즘 & 코딩테스트/코딩테스트] - 파이썬으로 행렬 구현하기 (4) - 마무리 지난 포스트에서 numpy 없이 구현한 행렬을 이용해 cholesky decomposition (촐레스키 분해) 를 해보도록 하겠습니다. 먼저 정방행렬 $A$가 있을 때, $x\neq 0$인 모든 $x$에 대해 $x^tAx>0$ 이면 이 행렬 $A$를 positive definite 하다고 합니다. ($x^tAx\geq 0$인 경우 semi-positive definite 하다고 합니다) 이때 행렬 $A$가 대칭이고 positive definite 하다면 $A=LL^t$를 만족하는, 대각 위의 성분이 모두 0인 하삼각행렬 (lower triangular matrix) $L$이 존재하게 되는데, $A$로부터 $L$을 구하는..
제너레이터와 yield (1) 파이썬 코딩을 하다보면 시퀀스를 결과로 출력하는 일이 많습니다. 이럴때 가장 간단한 선택은 담길 원소들이 저장된 리스트를 반호나하는 것이죠. 예를 들어 문자열에서 띄어쓰기의 인덱스를 반환하고 싶다면 다음 코드와 같이 리스트의 append 메소드를 사용해 리스트에 결과를 추가하고 함수 마지막에 리스트를 반환하면 됩니다. def index_words(text): result = [] if text: result.append(0) for index, letter in enumerate(text): if letter == ' ': result.append(index+1) return result address = 'I am a student and a male and looking-good' result = i..

반응형