전체 글

오늘은 파이썬 알고리즘 풀이에 자주 사용되는 딕셔너리 자료형에 대한 이야기를 해본다. 파이썬 기초 문법 공부를 할 때 분명히 배우고 넘어가는 영역이지만, 딕셔너리를 자유롭게 사용하기 위해서는 한번 정리를 해두고 문제풀이에 활용해보는것이 좋다. Dictionaty 딕셔너리에 대해서 한번 되짚어보자. 딕셔너리는 순차적으로 element를 얻지 않고, key-value쌍으로 이루어져 있는 자료형이다. # 딕셔너리 생성 dic_1 = {} #빈 딕셔너리 dic_2 = dict() # 선언 -> key:value dic_3 = {'name': 'mingyung', 'age':4000, 'pet':{'type':'beta','name':'pearl','age':2}} keys=['name','age','pet'] ..
이번 포스팅에서는 반복문에서 유용하게 사용하게 될 Enumerate에 대해서 알아보도록 한다. enumerate() 보통 for문은 다음처럼 사용한다. num_list = [1,2,3,4,5] for i in range(len(num_list)): print(i,num_List[i]) 그런데 range대신에 enumerate를 사용하면 인덱스와 element를 튜플형태로 얻어 손쉽게 표현이 가능하다. for i,element in enumnerate(num_list): print(i,element) 예시 코드는 기존 for문 또한 간단한 코드라 큰 유용성을 느끼지 못하지만, 실제 문제 풀이 과정에서 코드가 복잡해질 수록 유용하게 사용할 수 있다. enumerate는 파이썬 알고리즘에서 빠지지 않을 코드이..
이번 포스팅에서는 List Compeohension에 대해서 알아본다. List Comprehension 잘쓰면 좋지만 길어지면 머리가 아픈 List Comprehension에 대해서 알아보자. 일반적으로 list를 사용할 때 우리는 다음과 같은 문법을 사용하게 된다. arr=[0]*10 for i in range(10): arr[i] = i 즉 우리는 선언과, 값 할당을 분리해서 사용한다. List Comprehension은 이 과정을 한번에, 한 줄로 가능하게 한다. 기본적인 문법은 다음과 같다 [ (변수를 활용하여 만들 값) for (변수 명) in (순회가능한 값)] 사용예시 #가장 기본적인 형태 one_list = [i for i in range(10)] # if else문을 사용해볼 수 있다...
최근 알고리즘 문제풀이를 Python으로 푸는 비율이 높아지고 있어서 코딩테스트에 주로 사용하는 기본적인 파이썬 코드에 대해서 기록한다. 입력 먼저 기본적인 input reading과 unpacking에 대해서 알아본다. 파이썬 기초 문법을 공부할때 많이 사용하는 input() 그런데 사실 파이썬으로 코테준비를 하다보면 이 함수는 점점 사용하지 않게 될 것이다. input()을 사용할 경우에 파이썬에서는 입력받은 것을 문자열로 변환하고, 추가 처리(strip...)을 수행하기 때문에 입력이 많아지는 경우에는 시간초과가 매우 빈번히 나타나는 코드이기 때문이다. sys.stdin.readline 오잉 그러면 입력을 어떻게 받나요 ?? 우리는 sys의 스탠다드 인풋- stdin을 사용한다. 이를 사용하려면 s..
오늘은 django에서 .env파일로 환경변수를 관리하는 방법에 대해서 알아본다. 장고에서는 django-environ 라이브러리를 통해 손쉽게 환경변수의 관리가 중요하다. env파일에 환경변수들을 저장해두고 로드하여 사용하는것이다 .env 생성 프로젝트의 루트에 .env 파일을 먼저 생성해준다. 생성 후에는 꼭 gitignore파일에 .env를 추가하여 깃허브에 올라가지 않도록 한다. install django-environ 다음을 터미널에 입력하여 django-environ을 설치한다. pip install django-environ .env 작성 환경변수로 지정해야 하는값들을 env에 정의한다. 다음과 같이 작성해야 한다. SECRET_KEY='django-insecure-...' DEBUG=Tru..
· Project/HT
오늘은 python에서 국가 정보를 사용할 수 있도록 도와주는 pycountry library에 대해서 알아보도록 하자. 나는 프로젝트 진행을 위한 전처리 과정에 국가정보가 필요해서 사용하게 되었다. 라이브러리에 fuzzy search 코드가 있어서 매우매우 행복하다..! Install 라이선스는 LGPL-2.1 license이다. https://pypi.org/project/pycountry/ pycountry ISO country, subdivision, language, currency and script definitions and their translations pypi.org Repository 가장 정확한 정보는 레포지토리와 document를 참고하는것이다 :) https://github...
Generic view의 경우 CRUD작업을 위한 공통 부분을 제공하는 뷰임을 이전 포스팅에서 알아보았다. 제네릭 뷰는 여러개의 Mixin클래스를 결합하여 사용하게 된다. 오늘은 제네릭뷰와 함꼐 쓰이는 믹스인 클래스에 대해서 알아보도록 하자. Mixin 소개 믹스인을 사용하지 않는다면, Genericview를 사용할때 모든 기능을 직접 구현해야 한다. 하지만 사실상 CRUD작업과 목록출력같은 작업은 수많은 뷰에 공통적으로 들어가는 작업일 것이다. 이 기능들을 Mixin을 통해서 간단하게 제공받을 수 있다. mixins는 rest_framework.mixins 모듈에 있다. ListModelMixin .list(request, *args, **kwargs)메서드를 제공하여 쿼리셋의 목록을 표시한다. 쿼리셋..
오늘은 DRF의 Generic API VIew에 대해서 알아본다. Generic API View 이 클래스는 기존에 사용하던 APIView를 확장하도록 하는 클래스다. CRUD에서 공통으로 사용되는 부분을 제공한다. mixins를 사용해서 CRUD의 특정 세부 메소드를 제공하고, 오버라이딩을 통해 직접 커스터마이징 할 수 있다. [mixins 포스팅] https://he-kate1130.tistory.com/63 [Team 22] DRF - Mixins Generic view의 경우 CRUD작업을 위한 공통 부분을 제공하는 뷰임을 이전 포스팅에서 알아보았다. 제네릭 뷰는 여러개의 Mixin클래스를 결합하여 사용하게 된다. 오늘은 제네릭뷰와 함꼐 쓰이는 믹스 he-kate1130.tistory.com Ba..
mingyung
KATE.log