본문 바로가기

파이썬

(5)
For 문 에서의 List Comprehension List Comprehension 중 Invalid Syntax 가 떠서 오답 노트 식으로 올려본다. For 문에서 List Comprehension 사용 시 조건 문은 for keyword 앞에 나와야 한다. 예를 들면 다음과 같다 # A 만 소문자로 바꾸고 나머지는 X로 바꾸는 Code orig = 'ABCDE' convert = ''.join([o.lower() if o == 'A' else 'X' for o in orig]) 참고 : https://velog.io/@jonsyou/Python-list-comprehension-%EC%95%88%EC%97%90-if-else
list, str reverse 요긴하게 쓰이는데, 계속 까먹게 되서 정리 차 올린다. str 을 뒤집으려면 다음과 같이 하면된다. s[::-1] list를 뒤집으려면 다음과 같이 한다. l = [1,2,3,4,5] l.reverse() # l = [5,4,3,2,1] reversed(l) # iterator 반환 list(reversed(l)) #[5,4,3,2,1] 반환 참고 https://dongyeopblog.wordpress.com/2016/11/21/python-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%92%A4%EC%A7%91%EA%B8%B0reverse-string/
Python으로 2D Array rotaton 하기 알고리즘 문제를 풀 때 2차원 배열의 회전 (2D Array rotation)이 필요할 때가 있다 만약 python으로 문제를 푼다면 다음과 같이 해보자 rotation = list(zip(*origin[::-1])) ''' 예시 origin = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] rotation = [(7, 4, 1), (8, 5, 2), (9, 6, 3)] ''' 원리는 다음과 같다 1. origin[ : : -1 ] origin list의 element 를 역순으로 가져온 list 2. zip(*origin[ : : -1 ] ) zip return : tuple의 iterator, i번째 tuple은 인자로 전달된 list의 i번 째 요소들의 집합. 3. list(zip(*..
functools.lru_cache (functools.cache) @functools.lru_cache(user_function) @functools.lru_cache(maxsize=128, typed=False) 최근 maxsize 개의 호출까지 기억하는 callable 함수의 decorator이다. 간단한 예제인 피보나치를 통해 동작방식을 살펴볼 수 있다. def fibo(n): print("now : %s"%n) if n < 2: return n return fibo(n-1) + fibo(n-2) print(fibo(5)) now : 5 now : 4 now : 3 now : 2 now : 1 now : 0 now : 1 now : 2 now : 1 now : 0 now : 3 now : 2 now : 1 now : 0 now : 1 5 아래는 decorator를..
Virtualenv 실행시 오류 Flask 튜토리얼을 따라 virtualenv를 설정하는 과정중에 다음과 같은 에러를 만났다. .\venv\Scripts\activate : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\tkwpv\git\Flask\venv\Scripts\activate.ps1 파일을 로드할 수 없습니다. + .\venv\Scripts\activate + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess 이 에러는 powershell의 보안정책에 의해 발생한다고 한다. 보안 설정 해제는 Set-ExecutionPolicy Unrestricte..