본문 바로가기

Python12

[python] Operations 별 시간복잡도(TimeComplexity) - list, set, dictionary 가능한 외우자.. l : List = [] Operation Example Complexity Notes Index l[i] O(1) List 인덱스 Store l[i] = 0 O(1) 인덱스 지정 저장 Length len(l) O(1) List 크기 Append l.append(j) O(1) List 값 추가 Pop - last l.pop() O(1) 인덱스 없이 가장 마지막 값 pop하는 경우만 Clear l.clear() O(1) l=[] 랑 똑같음 Slice l[a:b] O(b-a) l[1:5]:O(l)/l[:]:O(len(l)-0)=O(N) Extend l.extend(...) O(len(...)) extension의 길이에 의존 Construction list(...) O(len(...)) (.. 2021. 5. 20.
[python] 문자열을 변수로 사용하고 싶을때 eval() 데이터 분석을 하다보면 col1, col2, col3 .... col999 와 같이 연속되는 변수가 있는 경우가 있다. 이러한 경우에, 일일히 변수값을 보려고 하면 print(col1) print(col2) print(col3) ... print(col999) 이런식으로 해야될 수도 있는데 너무 끔찍하다. 그래서 python 내장 함수인 eval() 함수(매개변수로 받은 expression (=식)을 문자열로 받아서, 실행)를 사용해 주면 for i in range(1, 999): print(eval(f"col{i}")) 깔끔하게 해결된다.. 응용은 알아서.. ps. eval()함수는 그 자체로 취약점이 될 수 있기 때문에 주의해서 사용해야 함 2021. 5. 14.
[python] 피보나치수열을 굳이 클로저를 사용해서.. 피보나치수는 0과 1로 시작하며 다음 피보나치수는 바로 앞의 두 피보나치 수의 합이 된다. 시간복잡도는 신경 안쓰고 그냥 클로저 라는 기능을 봤을때 피보나치수열이 생각나서 그냥 구현해봤다. def fibo(f,b): front = f back = b print(f"시작 값 1번째, 2번째 : {f}, {b}") result = 0 def nacci(): nonlocal front nonlocal back nonlocal result result = front + back front = back back = result return front, back, result return nacci # 시작 값 입력 0,1 c = fibo(0,1) # 10번만 돌려보자 for i in range(0,10): pri.. 2021. 5. 13.
[Python] vsCode 가상환경에서 bp(Breakpoint) 무시 Error vsCode로 개발중에 BP가 찍히지 않는,, 아니 찍히긴 하는데 F5를 눌렀을 때 계속 BP를 무시하고 그냥 코드를 돌려버리는 버그? 같은일이 있었다. vsCode를 다시 깔아보고, 컴퓨터를 재부팅해보고 launch.json파일을 다시 설정해보고 별 짓을 다 해봤지만 소용없었고 분명 가상환경 아닌 worksapce에서는 잘 되는데 가상환경만 안되니 엄청 답답했다. 만 하루가 걸려서 겨우 해결방법을 찾았고 어이없을정도로 간단했다... "justMyCode": false 이거 하나 추가하니 해결되었다... 2020. 7. 7.