Python
-
[파이썬] VsCode 모듈 import 에러, 문제Python 2020. 8. 29. 17:36
새로 프로젝트를 하게 되어 깃헙에서 받은 코드를 vscode에서 실행하려 했지만 이런 에러가 발생하면서 안되었습니다 이미 numpy니, pandas니 다 설치를 해놨는데 ModulNotFoundError가 발생했습니다. 찾아본 결과 파이썬이 깔린 경로? 환경변수? 뭐 이런 게 pip이랑 달라서 생기는 문제라고 하는데 정확히는 잘 모르겠네요... 일단 잘 설치가 되어있는지 터미널에서 확인해보시고 Ctrl+Shift+p를 누르면 아래와 같은 창이 뜰 겁니다 여기서 Python: Select Interpreter를 선택해줍니다. 저는 검색을 이미 한 상태라 맨 위에 있지만 검색하시면 나올 겁니다. 여기서 밑에 anaconda에 설치된 걸 선택하시고 코드를 실행하시면 import가 잘 됩니다.
-
[파이썬] heapq 사용법 (우선순위 큐, 힙)Python 2020. 8. 10. 16:44
파이썬에서는 우선순위가 높은 데이터를 먼저 꺼낼 수 있는 heapq라는 모듈을 제공합니다. (값이 낮은 순으로 뽑는 최소 힙으로 구현되어있으며 최대 힙은 따로 만들어져있지 않고 최소 힙을 응용해서 사용할 수 있습니다.) 다른 언어에서는 우선순위 큐를 제공하기도 하는데 파이썬에는 없는 것으로 알고 있습니다. 힙은 이진트리로 만들어져 있어 삽입, 삭제를 하는데 O(log n)이 걸린다는 것을 알 수 있습니다. 1. 힙 생성 및 삽입하기 import heapq h = [] heapq.heappush(h, (3, "third")) heapq.heappush(h, (2, "second")) heapq.heappush(h, (4, "fourth")) heapq.heappush(h, (1, "first")) prin..
-
[파이썬] set에 대하여(리스트와 시간비교)Python 2020. 8. 7. 17:32
알고리즘 문제를 풀다가 다른 분께서 set을 이용하여 푸신 풀이를 보고 set의 특징에 대하여 적어볼까 합니다. 기본적으로 set이라 하면 중복이 없다고만 알고 지나쳤는데 그게 아니더라고요 공식적으로 unordered collection이라고 되어있는데 그게 무슨 뜻인지 봅시다 list와 비교해서 설명드리겠습니다. list에 삽입할 때는 원하는 위치에 넣던지, 맨 뒤에 append해주게 되죠 우리는 그 위치를 알 수도 있고 원하는 구간을 잘라서 활용할 수도 있죠 list = [5,2,8,3,9] list.append(1) print(list) print(list[2]) #[5, 2, 8, 3, 9, 1] #8 이런식으로 말이죠 set에선 어떨까요? set = {5,2,8} print(set) print(..
-
[파이썬] 리스트 정렬(크기순, 길이순)Python 2020. 8. 7. 15:53
이번에는 리스트 정렬하는 법에 대해 간단히 알아보겠습니다. 리스트를 사용하다 보면 정렬해야 하는 경우가 굉장히 많습니다. 단순히 숫자의 크기 순일 수도, 길이 순일 수도 있죠 정렬하는 데에는 sort() 메서드와 sorted 함수를 사용합니다. 이 둘의 차이점은 sort()는 본체를 변화시킨다는 것, sorted는 정렬한 사본을 만들어 낸다는 것입니다. a = [7,4,6,3,2,0] a.sort() print(a) #[0, 2, 3, 4, 6, 7] a.sort(reverse=True) print(a) #[7, 6, 4, 3, 2, 0] a가 직접 변화되는 것을 알 수 있습니다. sort()의 매개변수로 reverse값이 있는데 이는 역순이냐 아니냐 결정하게 됩니다. b = sorted(a) print..
-
[파이썬] 특정 문자열이 포함되는지 확인하는법.Python 2020. 8. 7. 15:15
Python에서 어떤 문자열에 특정 문자열이 포함되어있는지 확인하는 법에 대해 알아보겠습니다. a = "hello world!" b = "hi world!" c = "world hi!" d = "hi" 위의 경우에서 "hi"라는 문자열이 a, b, c에 포함되어있는지 확인하고 싶을 때 어떻게 할까요? 일반적으로 두 가지 경우를 사용합니다 1. in키워드 2. find()함수 첫 번째 방법의 예시입니다 if d in a: print(a) if d in b: print(b) if d in c: print(c) # hi world! # world hi! 각각 d가 a, b, c에 포함되어있는지에 따라 출력하게 됩니다. 이 방법은 반환 값이 True, False입니다. 그렇다면 만약 hi로 시작하는 문자열을 찾..
-
[파이썬] 리스트 초기화 (feat.2차원)Python 2020. 7. 25. 17:29
파이썬에서 리스트를 다루다 보면 리스트 크기나 값을 초기화시켜야 하는 경우가 생기죠 초기화시키는 세 가지 방법과 이차원에서는 어떻게 하는지 봅시다 첫 번째 방법입니다. #a = [] a = list() for i in range(10): a.append(i) print(a) 결괏값 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 리스트를 생성하는 방법은 a =[]나 a=list()나 같고 반복문으로 값을 넣어주었습니다. 다른 언어에서 익숙한 방식이죠 a = list() for i in range(10): tmp = [] for j in range(5): tmp.append(j) a.append(tmp) print(a) [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2,..