본문 바로가기

반응형

파이썬

(5)
[Python] list, set, dict 컨테이너 알고리즘을 하면서 주의할 점이 list, set, dict 등의 컨테이너 타입을 쓸 때이다. 컨테이너 타입은 일반적으로 복사를 하게 되면 주소값이 들어가 변경하게 되면 복사된 값까지 그대로 옮겨가게 되기 때문이다. s = set() s.add(1) ss = s s.add(2) print(ss) # 결과 {1,2} l = [tuple()]*17 l[0] = (1,2) ll = l l[0] = (1,3) print(ll) # [(1, 3), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), ()] 그러므로 복사를 하기 위해선 copy에 있는 deepcopy를 사용 혹은 리스트 컴프리헨션을 사용하여 복사해줘야 한다.
[Python] for else Python에는 for else 문법이 존재한다 이 문법은 for 안에서 break문으로 인해서 강제 종료가 된다면 else문을 실행하지 않고 아니면 실행하는 문법이다. N = int(input()) M = int(input()) def find_parent(parent,x): if parent[x] != x: parent[x] = find_parent(parent,parent[x]) return parent[x] def union_parent(parent,a,b): a = find_parent(parent,a) b = find_parent(parent,b) if a < b: parent[b] = a else: parent[a] = b parent = [i for i in range(N+1)] for i..
Decorator 반복하는 내용을 함수로 묶어 여러 함수에서 일괄적으로 사용할 때 사용 def type_checker(func): def inner_function(digit1, digit2): if type(digit1) != int or type(digit2) != int: print('only integer support') return func(digit1,digit2) return inner_function @type_checker def test(digit1,digit2): print(digit1+digit2) 이런식으로 @만을 이용하여 함수에 적용할 수 있다. @를 이용하면 type_checker안에 파라미터로 test 함수가 들어가는 방식이다. 안에 파라미터가 들어간 데코레이터도 만들 수 있다 def mar..
First class function, Closure First Class Function이란? 함수를 변수처럼 사용할 수 있는 것을 말한다. def calc(a,b) return a+b t = calc t(1,2) 추측하기론 이름이 너무 길거나 알고리즘에서 sys.stdin.readline을 input으로 짧게 사용하기 위해 사용할 것이라 생각한다. Closure란? 외부 함수, 내부 함수 관계에서 외부 함수가 del 되어도 내부 함수는 외부 함수에 있는 선언들을 가져다 사용할 수 있는 것을 말한다. def calc_power(n): def power(digit): return digit ** n return power t = calc_power(10) t(2)
char 형 -> int 형 변환 ord('a')를 하면 해당 아스키코드 값으로 변경이 된다. 이후 목적에 맞게 사용하면 된다.