Python 314

[code-server] Command 'Jupyter: Create New Blank Notebook' resulted in an error (command 'jupyter.createnewnotebook' not found)

VSCode 또는 code-server에서 jupyter extension을 설치하면 명령 팔레트에서 "Jupyter: Create New Blank Notebook"를 사용하여 .ipynb 파일을 생성하여 사용할 수 있다. ( 버전에 따라 생성 명령은 조금씩 다른 것 같다. ) 참고 : 2022.04.19 - [VSCode] jupyter notebook 사용 현상 다만, code-server에서 기본 마켓플레이스(open-vsx)를 이용해 python, jupyter extension을 설치하여 사용하려고 하면 아래와 같은 메세지와 함께 .ipynb 파일이 생성되지 않는 현상을 확인했다. 상세 로그는 브라우저 개발자 도구에서 확인할 수 있다. 내 경우에는 code-server 기본 마켓플레이스를 이용..

Python 2022.05.01

[Set] 집합 연산

2021.09.26 - [알고리즘 기초] 동명이인 찾기 / Set 에서 Set의 개념을 간단하게 아래와 같이 정리했었다. [알고리즘 기초] 동명이인 찾기 / Set 여러 사람의 이름이 저장된 리스트에서 동명이인의 이름 집합을 반환하는 문제이다. 집합; Set 리스트와 같이 정보를 여러 개 넣어서 보관하는 자료구조 같은 자료가 중복되어 저장되지 않고, 자 passwd.tistory.com 리스트와 같이 여러 정보를 넣어서 보관하는 자료구조 중복을 허용하지 않고, 자료의 순서가 없다. 여기에 더해서 set은 수학적 개념인 집합을 다룰 수 있는 데이터형이기도 한다. 집합과 명제할 때 그 집합 맞다. 따라서 이 글에서는 수학에서의 집합 개념을 python set으로 다룰 때 사용하는 연산, 함수 등을 정리해두려..

Python 2022.04.30

[code-server] 확장 프로그램(extension) 수동 설치

code-server https://coder.com/ Github : https://github.com/coder/code-server VS Code를 브라우저를 통해 접근하고 실행할 수 있도록 개발된 오픈 소스 Electron 기반의 오픈소스로 개발된 소스코드 에디터 VS Code를 Node.js를 통해 Sever에 올리고 크롬 기반의 브라우저를 통해 실행하여 사용할 수 있도록 한다. Extension marketplace VS Code 자체는 오픈 소스이지만, 마이크로소프트의 확장 프로그램 마켓플레이스와 확장 프로그램은 오픈 소스가 아니다. 무엇보다 마이크로소프트는 타사의 VS Code(code-server가 해당된다.)를 사용해 마켓플레이스에 접근하는 것을 서비스 약관으로 금지하고 있다. 따라서 ..

Python 2022.04.23

[Python] 익명 함수 - lambda 표현식

def 리터럴 표기법에 따라 함수를 생성할 때 사용되는 키워드 def 키워드는 함수 클래스를 통해 함수 객체를 생성하고, 객체를 함수 이름과 같은 변수에 담는 과정을 담당한다. 변수에 담긴 함수 객체는 메모리에 올라가서 호출을 대기하는데, 이는 한 번만 사용될 함수라면 메모리 낭비에 해당된다. 한 번만 사용될 함수라면 익명함수를 사용하는 것이 좋다. 익명 함수 이름이 없는 함수를 뜻하며, Python에서는 lambda라는 키워드를 이용해 익명 함수를 정의할 수 있다. 이름이 없어 재사용이 불가능하다. 다만 일반 함수와 동일하게 변수에 할당될 수 있기 때문에, 변수에 저장된 lambda 함수는 재사용이 가능하다. lambda lambda 키워드를 이용한 함수는 람다 함수 또는 람다 표현식이라고 한다. la..

Python 2022.04.20

[VSCode] jupyter notebook 사용

VSCode는 python 개발 환경으로 많이 사용되지만, 데이터 분석 관련으로는 아무래도 jupyter notebook과 jupyterlab이 많이 사용된다. 즉, jupyter notebook도 새로 설치를 하게 되는데, VScode의 관련 확장 프로그램 몇 가지를 설치하면 VSCode 상에서도 jupyter notebook을 사용할 수 있게 된다. 설정 방법을 정리해둔다. 방법 1. VSCode 설치 아래의 링크에서 환경에 맞는 버전을 다운받아 설치한다. https://code.visualstudio.com/download Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your ..

Python 2022.04.19

[Conda] 개념 및 기본 명령어

conda Python, R, Ruby, Lua, Scala, Java, Javascript, C/C++. FORTRAN 등 언어의 의존성과 패키지, 환경을 관리하는 도구 Windows, macOS 및 Linux에서 실행할 수 있는 오픈 소스 패키지 및 환경 관리 시스템 환경을 쉽게 생성하고, 전환할 수 있으며 패키지와 의존성 패키지를 설치하고 업데이트할 수 있다. 또한 소프트웨어를 패키징하고 배포할 수도 있다. 기본적으로 repo.anaconda.com에 저장된 패키지를 설치하고 관리한다. Conda는 Anaconda와 Miniconda에 포함되어 있으며, conda-forge에서도 사용할 수 있다. Anaconda 머신러닝이나 데이터 분석 등에 사용하는 패키지가 기본적으로 포함되어 있는 파이썬 배포판..

Python 2022.04.13

[filter] 문자열에서 알파벳 추출

문자열 데이터에서 알파벳만 추출하려고 한다. Python 내장 함수 중 하나인 filter 함수를 사용해서 처리해보고자 한다. filter 여러 개의 데이터로부터 특정 데이터만 추릴 때 사용하는 함수로, 주로 list나 tuple을 대상으로 사용한다. filter(function, iterable) function은 데이터를 추리는 조건에 해당하는 함수이다. 직접 정의해서 사용해도 되지만 lambda 함수를 활용할 수도 있다. iterable에는 순회할 수 있는 데이터가 들어간다. list, tuple, set, string 등이 해당될 수 있다. 예시) inp = "abcd123456efghi!@#$" print(filter(str.isalpha, inp)) for i in filter(str.isal..

Python 2022.04.12

[sort] 문자열 사전 역순으로 정렬하기

Python에서 리스트를 정렬할 때 사용할 수 있는 list.sort()와 sorted()는 기본적으로 오름차순으로 리스트를 정렬한다. 오름차순/사전 순 정렬 print(sorted([3, 5, 4, 2, 1])) print(sorted(['b', 'a', 'z', 'v', 'm'])) 숫자는 오름차순으로, 문자는 사전 순으로 정렬된 모습을 확인할 수 있다. 따라서 문자나 문자열을 사전 역순으로 정렬할 때는 정렬된 리스트를 뒤집어주면 된다. list.sort()와 sorted() 모두 bool 형의 reverse 매개변수를 전달받는 것을 이용한다. 내림차순/사전 역순 정렬 print(sorted([3, 5, 4, 2, 1], reverse=True)) print(sorted(['b', 'a', 'z', ..

Python 2022.04.10

[heapq] 최소 힙, 최대 힙

2022.04.19 - 최소 힙 / 최대 힙 최소 힙과 최대 힙 개념은 위 글에서 정리했다. heapq 파이썬에서 제공하는 최소 힙 자료구조 모듈 자바의 PriorityQueue 클래스와 유사하다. heapq를 사용하면 원소가 정렬된 상태로 추가되고 삭제된다. 모듈 임포트 내장 묘듈이기 때문에 별도 라이브러리 설치 없이 사용할 수 있다. import heapq 최소 힙 생성 heapq는 파이썬의 일반 리스트를 최소 힙처럼 다룰 수 있도록 한다. 빈 리스트를 생성한 뒤, heapq 모듈을 통해 원소를 추가하거나 삭제한 리스트가 최소 힙에 해당한다. heap = [] 원소 추가 heapq.heappush 함수를 이용하여 힙에 원소를 추가한다. 첫 번째 매개변수는 원소를 추가할 리스트이고, 두 번째 매개변수는..

Python 2022.03.20

[list] 빈 리스트 확인

보통 다른 프로그래밍 언어의 경우 리스트에서 isEmpty() 라는 메서드를 제공하거나, 리스트의 길이를 이용해서 리스트가 비어있는지 확인한다. 파이썬의 경우, 아래와 같이 리스트의 길이를 이용할 수 있다. li = [] if len(li) == 0: print("List li is empty.") else: print("List li is not empty.") 다만 이런 코드는 파이썬답지 않다고 한다. if문 활용 python에서 if으로 리스트를 확인할 때, 리스트가 비어있으면 False를, 비어있지 않으면 True를 반환한다. 따라서 아래와 같은 방식으로 확인하는 것이 조금 더 파이썬다운 코드라고 한다. li = [] if not li: print("List li is empty.") else: ..

Python 2022.03.14