본문 바로가기
728x90
반응형

Python18

Python 딕셔너리 키 값, value 값으로 정렬하는 법 Hash문제를 풀다보면 dict를 정렬이 필요한 경우가 생기기 때문에 정렬하는 법을 정리해보려 합니다! Key 값 기준으로 딕셔너리 정렬하는 법 1) OrderDict 사용 from collections import OrderedDict dict = OrderedDict(sorted(dict.items())) OrderedDict는 무작위 순서를 기억하는 일반 dict와 달리, 데이터가 삽입된 순서를 기억하는 똑똑한 dict입니다 (그래서 두 딕셔너리간 값과 정렬순서까지 동일한지를 확인할 때 유용하게 사용됩니다) 2) sorted 사용 dict(sorted(d.items())) lambda로 x[0]을 굳이 명시해줄 필요 없습니다 Value 값 기준으로 딕셔너리 정렬하는 법 sorted(dict.item.. 2022. 9. 21.
Heapq 알고리즘 개념 및 활용방법 정리 √ Heap 데이터 구조란? : 최대/최소값 연산에 용이한 이진트리구조의 데이터 구조 Heap의 종류는 부모노드가 최대값을 가지고 자식노드는 그 보다 작은 값을 가지는 Max Heap과 반대로 자식노드가 부모노드보다 큰 값을 가지는 Min Heap 2가지가 있습니다 바로 여기서 heapq 모듈은 Min Heap 기능을 가지는 알고리즘에 해당합니다 √ Heapq 모듈 기능 정리 import heapq : heapq사용을 위해서는 모듈 import가 선행되어야 합니다 heapq.heapify(list) : list를 heap으로 변환시킵니다 → Heap으로 변신 import heapq l = [3,5,2] heapq.heapify(l) >> [2,3,5] heapq.heappush(heap,element) .. 2022. 9. 21.
Python List append/extend와 +=의 차이점 정리 문제를 풀다가 += 와 append를 섞어서 썼었는데, append가 아닌 +=를 쓰면서 에러가 나는 사례를 만나서, 둘의 차이점에 대해 정리해보려 합니다! Append Extend += 기존 리스트의 마지막에 값을 추가함 extend하는 iterable의 값들을 리스트에 추가함 extend와 유사 [1,3].append([4,5]) > [1,3,[4,5]] [1,3].extend([4,5]) > [1,3,4,5] [1,3] += [4,5] > [1,3,4,5] ['a','b'].append('cat') > ['a','b','cat'] ['a','b'].extend('cat') > ['a','b','c','a','t'] 아래 코드로 실험해보세요! k = [1, 3] k.append([4,5]) k.ext.. 2022. 9. 20.
2진법, 8진법, 16진법, 10진법 파이썬 변환 총정리 코딩 문제 풀때마다 이 문제들은 알면 쉬운데 모르면 복잡해져서 틀리곤 하는데요 ㅜㅠ 오늘 정리해서 안 까먹도록 해보겠습니다 1. 내장함수로 10진수를 2/8/16진수로 변환하기 => 문자열 반환 변환 대상 진수 함수명 2진수 bin() 8진수 oct() 16진수 hex() 다른 진수에서 10진수로 바꿀 때 str() 2. Format으로 10진수 변환하기 => 문자열 반환 변환 대상 진수 함수명 2진수 format(10진수,'b') 8진수 format(10진수,'o') 16진수 format(10진수,'x') **주의점은 여기서 '#b', '#o','#x'처럼 앞에 #을 붙이면 반환값 앞에 아래와 같은 문자열이 붙는데요 일반적으로 1010이 나온다면 이진법인지 그냥 1010을 말하는지 헷갈리겠죠? 그래서 .. 2022. 9. 12.
BFS/DFS 탐색 개념 정리 코딩테스트를 풀다보면 꼭 만나면 BFS와 DFS를 정리해보면서 기본을 다져보려 해요! 더보기 자료 참고 웹사이트 출처: https://www.geeksforgeeks.org/difference-between-bfs-and-dfs/ https://www.tutorialspoint.com/difference-between-bfs-and-dfs#:~:text=BFS%2C%20stands%20for%20Breadth%20First,to%20find%20the%20shortest%20path. BFS (Breadth First Search, 넓이 우선 탐색) - Level order 최단거리 검색을 위해 Queue 사용 -> First in Frist Out (FIFO) 개념 사용 전체 노드를 같은 레벨에서 돌며.. 2022. 9. 10.
Python Class 개념 한번에 이해하기 (객체,인스턴스,어트리뷰트) 오늘은 파이썬 공식 홈페이지 자료를 기반으로 공부해도 해도 헷갈리는 개념인 파이썬의 클래스를 , 정리해보려 해요! 클래스란? 특정 값을 가진 데이터 혹은 함수 기능을 묶어서 프로그래밍에 사용할 수 있는 종합패키지라고 보시면 되는데요 파이썬 공식문서 상의 내용을 그림으로 구현해봤는데요 클래스 내부에는 데이터나 기능을 구현하는 빨간박스 내부 -> 이름 공간이 있는데 그 내부에 있는 변수나 함수 재료들이 객체인 것이죠! 예를 들어, 큰 패키지 내부에 면도기와 면도 크림이 있다면 그 내용물이 객체라고 볼 수 있는데요 이 클래스의 기능은 크게 2가지가 있다고 합니다. 클래스를 사용하기 위한 1) 인스턴스 만들기 2) 클래스 내부 객체를 활용하기 위한 어트리뷰트 참조라고 합니다. 첫 번째 인스턴스 만들기의 경우, .. 2022. 9. 8.
728x90
반응형