본문 바로가기

Category/Python23

Python sorted() 함수에서 정렬 기준 설정하기 Python의 sorted() 함수는 리스트, 튜플, 딕셔너리 등 반복 가능한(iterable) 데이터를 정렬할 때 사용됩니다. 기본적으로 오름차순으로 정렬되지만, key 매개변수를 사용하면 사용자 정의 기준에 따라 데이터를 정렬할 수 있습니다.1. sorted() 함수의 기본 사용법문법sorted(iterable, key=None, reverse=False)iterable: 정렬할 데이터 (리스트, 튜플, 딕셔너리 등).key: 정렬 기준을 정의하는 함수. 각 요소를 기준으로 변환한 값에 따라 정렬.reverse: 정렬 방향을 설정. 기본값은 False(오름차순), True로 설정하면 내림차순.2. 기본 정렬데이터의 기본값(숫자 크기, 사전 순서 등)에 따라 정렬됩니다.# 숫자 기본 정렬numbers .. 2024. 11. 28.
Python에서 집합(set) 생성과 초기값 설정법 Python의 set() 함수는 중복 없는 데이터 구조를 생성할 때 사용됩니다. 이 글에서는 set()을 사용할 때 초기값을 설정하는 다양한 방법과, 그 중 set([a])와 같은 표현에서 대괄호([])의 역할을 포함해 가장 적합한 초기값 설정 방법에 대해 설명하겠습니다.1. set() 함수란?set() 함수는 반복 가능한 객체(iterable)를 받아 집합(set)을 생성하는 함수입니다. 집합은 다음과 같은 특징을 가집니다:중복 제거: 집합 내의 모든 원소는 고유합니다.순서 없음: 집합은 원소의 순서를 보장하지 않습니다.예시# 리스트를 집합으로 변환numbers = [1, 2, 2, 3]unique_numbers = set(numbers)print(unique_numbers) # {1, 2, 3}# .. 2024. 11. 27.
Python collections 모듈의 defaultdict 사용하기 defaultdict는 Python의 collections 모듈에 포함된 특별한 딕셔너리 자료구조입니다. 기본적으로 키가 없을 때도 기본값을 자동으로 생성할 수 있는 딕셔너리입니다.일반적인 딕셔너리(dict)는 존재하지 않는 키를 접근하려고 하면 KeyError를 발생시키지만, defaultdict는 미리 지정된 기본값 생성 함수(default_factory)를 사용해 값을 자동으로 생성합니다.기본 문법from collections import defaultdict# defaultdict 생성d = defaultdict(default_factory)default_factory: 기본값을 생성하는 함수(예: int, list, str 등).딕셔너리에 존재하지 않는 키에 접근하면 default_factory.. 2024. 11. 22.
딕셔너리 확장 자료구조 Counter 사용하기 Counter는 딕셔너리와 비슷하지만, 딕셔너리를 확장한 특화된 자료구조입니다. Python의 collections 모듈에서 제공하는 자료구조로, 요소의 개수를 자동으로 세는 데 최적화되어 있습니다.Counter와 dict의 공통점1. 키-값 저장:Counter도 딕셔너리처럼 키와 값을 저장합니다.키는 요소를, 값은 해당 요소의 개수를 나타냅니다.from collections import Counterc = Counter("hello")print(c) # Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1}) 2. 딕셔너리 메서드 지원:keys(), values(), items() 등의 메서드를 사용할 수 있습니다.print(c.keys()) # dict_keys(['h', 'e'.. 2024. 11. 20.
Python의 collections 모듈 사용하기 Python의 collections 모듈은 고급 데이터 구조를 제공하는 표준 라이브러리로, 기본적으로 제공되는 데이터 구조(리스트, 튜플, 딕셔너리 등)를 보완하여 더 효율적이고 직관적인 코딩을 가능하게 해줍니다.주요 클래스와 사용법1. Counter용도: 요소의 개수를 자동으로 세는 해시 테이블 자료구조입니다.주요 메서드:elements(): 요소를 순회(iterable) 형태로 반환.most_common(n): 가장 많이 등장한 요소 상위 n개 반환.subtract(): 요소의 개수를 감소시킴.from collections import Counter# 예제: 요소의 빈도 계산data = ['a', 'b', 'c', 'a', 'b', 'a']counter = Counter(data)print(count.. 2024. 11. 20.
Python에서 heapq로 최대힙, 최소힙 구현하기 Python의 내장 모듈인 heapq는 힙(Heap) 자료 구조를 제공하며, 기본적으로 최소힙(Min-Heap)으로 동작합니다. 최소힙은 가장 작은 요소를 항상 루트 노드로 유지하는 완전 이진 트리입니다.하지만 최대힙(Max-Heap)은 지원하지 않으므로, 특정 트릭을 사용하여 최대힙을 구현해야 합니다.1. 최소힙(Min-Heap) 구현기본 동작heapq는 리스트를 힙처럼 다룰 수 있도록 제공합니다.heapq.heappush(heap, item): 힙에 새로운 요소를 추가합니다.heapq.heappop(heap): 힙에서 가장 작은 요소를 제거하고 반환합니다.예제 코드import heapq# 최소힙 생성min_heap = []# 요소 추가heapq.heappush(min_heap, 3)heapq.heap.. 2024. 11. 18.