특정, 다중 조건으로 리스트 정렬하기Python에서 리스트를 정렬하기 위해 sort()와 sorted() 메서드를 사용한다. 두 메서드의 간단한 활용으로 숫자의 크기 혹은 문자 순서대로 오름차순/내림차순으로 정렬이 쉽게 가능하다. 그러나 정렬의 기준을 직접 설정하거나 여러 개의 조건으로 정렬해야 할 경우도 있다. 이때 메서드의 파라미터인 "key"를 사용하면, 조건을 직접 설정하여 리스트 정렬이 가능하다.특정 조건으로 리스트 정렬하기1차원 리스트일 경우 간단히 정렬이 가능하지만, 2차원 이상의 리스트는 단순히 sort(), sorted()를 사용하면 원하지 않는 결과가 나올 수 있다. 이 경우 key를 지정하면 원하는 조건을 설정해 리스트를 정렬할 수 있다. 아래의 리스트를 예시로 정렬해 보자.a = [..
셰이프 파일(shp) 데이터의 위도, 경도 및 주소 추출하기데이터 소개사용한 데이터사용한 데이터 : 서울 실시간 인구데이터해당 데이터는 서울 주요 116개 장소의 실시간 인구를 확인 가능지역구 컬럼이 없기에 구 별 실시간 인구를 확인하기는 힘듦사이트에서 제공하는 cpg, dbf, prj, shp, shx 데이터를 사용해 지역구 추출데이터 형태 확인geopandas 라이브러리를 활용해 다운로드 받은 데이터의 형태를 확인위도, 경도 데이터는 "POLYGON (( ~ ))" 형태로 존재하는 것을 확인import geopandas as gpdD1 = gpd.read_file("./서울시 주요 116장소 영역.shp", encoding='UTF-8')print(D1.tail())CATEGORY AREA_CD AR..
한 줄에 여러 개 입력받기Python 문제를 해결하다 보면, 한 줄에 여러 개의 입력을 받아야 하는 경우가 생긴다. 그러나 Python은 개행('\n')을 하나의 입력으로 인식하기 때문에 '5 4 1 3 2', '7 3'과 같이 인식한다. 이때, map 함수와 split 함수를 활용하면 각각의 정수로 분리하여 여러 개의 변수에 저장할 수 있다.한 줄에 여러 개 입력받기한 줄에 여러 개 입력을 받는 형태를 살펴본 후에 map과 split 함수에 대해 알아본다. 관련 자료를 찾다가 사용 예시가 있어서 가져왔다.예시 출처# 1. 값 두 개를 입력받아 변수 a와 b에 저장 (띄어쓰기 구분)a, b = input().split() # 문자열a, b = map(int, input().split()) # 정수형a, ..
데크(Deque)란?큐(queue)는 선입선출(FIFO) 방식으로 작동하며, 스택(Stack)은 후입선출(LIFO) 방식으로 작동한다. 큐와 스택이 합쳐져 양방향에서 Push와 Pop을 할 수 있는 자료구조가 데크(Deque)이다. 앞, 뒤 방향에서 요소(element)를 추가하거나 제거할 수 있다. 큐와 스택은 반대쪽에 존재하는 요소를 Pop 하려면 O(n)의 시간이 필요하지만, 데크를 사용하면 어느 방향이든 O(1)의 시간으로 연산을 수행할 수 있다.파이썬 라이브러리 deque파이썬에서는 데크를 라이브러리로 사용할 수 있다. 아래의 공식문서에서 자세한 설명과 예시를 확인해 볼 수 있다. 여기에는 알고리즘 문제를 해결할 때 필요한 연산을 정리하려고 한다. collections — Container da..