본문 바로가기

Python

(5)
[Python] Collections (deque, OrderedDict, defaultdict, Counter) Collections은 자료구조에 대한 기본 모듈을 포함하고 있다. from collections import deque from collections import OrderedDict from collections import defaultdict from collections import Counter 1. deque 효율적 메모리 구조로 기존 list보다 처리 속도가 빠르다. Deque는 Double-ended Queue이다. Double-ended는 양 끝에 elements를 추가/삭제를 지원한다는 의미이다. 내부적으로 deque는 double-lined list로 구현되어 있다. 그래서 양 끝의 요소의 추가/삭제가 O(1)을 만족한다. 덱과 다르게 python의 리스트는 fixed size me..
VPC와 subnet VPCVPC는 Virtual Private Cloud의 약자로 가상 사설 네트워크다.클라우드(예: AWS, GCP, Azure) 상에서 사용자가 독립적으로 네트워크를 구성할 수 있는 공간이다.VPC 안에는 IP 대역을 지정하고, 라우팅, 방화벽 설정, 인터넷 연결 여부 등을 직접 제어할 수 있다. VPC는 계정, 가용 영역 또는 AWS 리전에서 서로 통신할 수 있다.아래 다이어그램은 리전 1 안에서 네트워크 트래픽이 가용 영역 1의 VPC와 가용 영역 2의 VPC 간에 공유되는 구성을 보여준다.동일한 아키텍처가 리전 2에도 표시되어 있다.리전 1과 리전 2의 VPC는 서로 연결할 수 없다.SubnetVPC를 더 작게 나눈 하위 네트워크하나의 VPC안에 여러 서브넷을 만들 수 있고, 각 서브넷은 특정 역할..
[Python] 'is'와 '=='의 차이 is는 변수가 같은 Object(객체)를 가리키면 True이고, ==는 변수가 같은 Value(값)을 가지면 True이다. 예시 a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] b = a c = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] print(a==b, a is b) # True True print(a==c, a is c) # True False a와 b, 그리고 a와 c 모두 같은 값들을 가진 리스트이기 때문에 a==b와 a==c 모두 True a와 b는 같은 리스트 객체이기 때문에 True, 하지만 a와 c는 다른 객체이기 때문에 False 참고: https://twpower.github.io/117-difference-between..
[Python] 가장 큰 수, inf 이 글은 프로그래머스의 파이썬을 파이썬답게 강의를 수강하고 작성하는 글입니다. 코딩 테스트 문제등을 풀다 보면, 최솟값을 저장하는 변수에 아주 큰 값을 할당해야 할 때가 있다. 이때에 사용하기 좋은 것이 inf이다. 이 기능을 몰르는 사람들은(필자 포함) 다음과 같이 본인이 생각하는 임의의 큰수(99999등)을 할당한다. min_val = 99999 min_val > 100000000 # ? 위 방법은 비교할 데이터가 아주 큰 경우, 정상적으로 작동하지 않을 수 있다. (2번째 줄처럼) 파이썬이 제공하는 inf는 어떤 숫자와 비교해도 무조건 크다고 판정된다. min_val = float('inf') min_val > 10000000000 inf에는 음수 기호를 붙이는 것도 가능하다. max_val = f..
[Python] 2차원 리스트를 1차원 리스트로 만들기 이 글은 프로그래머스의 파이썬을 파이썬답게 강의를 수강하고 작성하는 글입니다. 코딩을 하다보면, 이차원 리스트를 일차원 리스트로 만들어야 할 때가 있다. 보통 다음과 같이 반복문을 이용해 리스트를 더해간다. my_list = [[1, 2], [3, 4], [5, 6]] answer = [] for i in my_list: answer += i print(answer) # [1, 2, 3, 4, 5, 6] 파이썬의 다양한 기능을 사용하면, for문을 사용하지 않고도 리스트를 이어붙일 수 있다. 1. sum 함수 answer = sum(my_list, []) 2. itertools.chain import itertools list(itertools.chain.from_iterable(my_list)) 3. ..