pip freeze creates some weird path instead of the package version I am working on developing a python package. I use pip freeze > requirements.txt to add the required package into the requirement.txt file. However, I realized that some of the packages, instead... stackoverflow.com 기본 pip freeze 명령어 pip freeze > requirements.txt 이렇게 pip freeze를 했을때 버전이 안찍히고 이상한 경로가 찍히는 경우가 있습니다. direct reference ..
파이썬 set object의 C 구현 코드 : https://github.com/python/cpython/blob/main/Objects/setobject.c 일단.. cpython 의 set object의 c코드만해도 2500줄이 넘어간다는 사실에 경악했습니다.. 이렇게 복잡한 자료구조를 나는 여태 이렇게 편하게 쓰고 있었구나...ㄷㄷ 아무튼, set에 들어가는 아이템이 너무 많아지면 set_table_resize 를 통해서 key 리스트를 더 많이 할당한 메모리로 싹 옮긴다고 합니다. 이 임계점에서 순간적으로 연산량이 많아지겠네요. 언제 사이즈가 바뀌는지 출력해봤습니다. 또 pop으로 아이템을 제거하면 다시 줄어드는지도 확인해봤습니다. A = set() now_size = A.__sizeof__()..
(제목에 물음표를 달게 된 이유가 있답니다!) 자료구조의 뒷단에서 벌어지는 일들이 궁금할때는 len 말고 객체에 할당된 메모리를 확인해볼 필요가 있습니다. list와 set에서 remove를 수행할 때 전 당연히 "set이 훨씬 빠를거야. list는 제거 후에 바로 배열을 재설정해줘야하고, set은 hash를 쓰니까 재조정이 더 짧지 않겠어?" 라는 생각이었는데, 의외로 별 차이가 없더라구요. 그래서 각 객체에 할당되는 메모리를 트래킹해보기 위해서 찾아보니 sys에 getsizeof 라는 함수가 있었습니다. sys.getsizeof() import sys A = [] print(sys.getsizeof(A)) docs sys — System-specific parameters and functions T..
새로운 환경 만들때마다 맨~날 만드는게 가상환경인데, 명령어 맨~날 까먹습니다..ㅋㅋㅋ 자주 사용하는 명령어들을 정리해봤습니다. 가상환경 종료, 실행하기 가상환경이 여러개 겹쳐져서 켜질 수가 있기 때문에 항상 deactivate 을 잘 해주도록 합시다. 특히 base 잘 끄기! conda deactivate conda activate 가상환경 만들기 conda create -n python= # ex) conda create -n myenv python=3.8 가상환경 리스트 보기 conda env list 가상환경 삭제하기 conda remove -n --all VS CODE에서 주피터노트북 가상환경 사용하기 conda activate pip install jupyter pip install ipyke..
다음 독스를 요약했습니다. 정렬, 패딩 외에도 "변수=값", e 표현식, % 표현식, 진법 변환도 제공하더라구요! 유용한 변환이 많았습니다. 다 외우고 있을 필요는 없지만 이런것도 제공한다는걸 알고 있으면 필요할때 찾아서 쓸 수 있으니까 어떤걸 제공하는지 정도는 알아두면 좋은 것 같습니다ㅎㅎ 7. Input and Output There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use. This chapter will discuss some of the possibilities. Fa... docs.python.o..
import heapq 최소값 혹은 최대값을 자주 참조하면서 자료구조 원소들을 변경하는 경우 힙을 사용하는게 유리합니다. 파이썬에서 제공하는 heap 자료구조 입니다. 배열을 heap 구조로 사용할 수 있고, push pop 기능을 제공합니다. heapq — Heap queue algorithm Source code: Lib/heapq.py This module provides an implementation of the heap queue algorithm, also known as the priority queue algorithm. Heaps are binary trees for which every parent node has a va... docs.python.org 기본적으로 최소힙 형태로 ..