본문 바로가기
728x90

전체 글389

[파이썬][중급] Chapter19. XML과 YAML 다루기 데이터 저장과 통신을 위해 XML과 YAML은 다양한 시스템에서 널리 사용되는 형식입니다. 파이썬에서는 표준 및 외부 라이브러리를 활용해 이들을 쉽게 읽고 쓸 수 있습니다. 이 장에서는 각 포맷의 특징과 파이썬에서의 처리 방법을 소개합니다.● XML 처리 (xml.etree.ElementTree)파이썬의 표준 라이브러리 xml.etree.ElementTree를 이용하면 XML 파싱 및 생성이 가능합니다.import xml.etree.ElementTree as ET# XML 문자열 파싱data = '''Alice30'''root = ET.fromstring(data)print(root.find("name").text) # Alice파일로부터 XML을 읽으려면 ET.parse(), 생성하려면 ET.Elem.. 2025. 5. 23.
[파이썬][중급] Chapter18. CSV, JSON 고급 처리 CSV와 JSON은 데이터 저장과 전송에서 가장 널리 사용되는 형식입니다. 파이썬은 csv와 json 모듈을 통해 이들을 손쉽게 읽고 쓸 수 있도록 지원합니다. 특히 실무에서는 파일 인코딩, 중첩 구조, 필드 이름 처리 등 다양한 세부 제어가 필요합니다.● CSV 파일 읽기csv 모듈의 reader를 사용하면 쉼표 구분 텍스트 파일을 한 줄씩 읽을 수 있습니다.import csvwith open("data.csv", newline='', encoding="utf-8") as f: reader = csv.reader(f) for row in reader: print(row)파일이 헤더를 포함하고 있다면 DictReader를 사용하는 것이 더 직관적입니다.with open("data... 2025. 5. 23.
[파이썬][중급] Chapter17. set의 고급 활용 파이썬의 set 자료형은 중복을 허용하지 않고, 수학적 집합 연산을 손쉽게 수행할 수 있도록 해주는 유용한 도구입니다. 이 장에서는 집합의 고급 연산과 효율적인 활용 방법에 대해 살펴보겠습니다.● 집합 기본 특성 복습중복이 자동으로 제거됩니다.순서가 없기 때문에 인덱스로 접근할 수 없습니다.mutable 자료형이며, 원소 추가/삭제가 가능합니다.s = set([1, 2, 2, 3])print(s) # {1, 2, 3}● 집합 연산파이썬에서는 수학적 집합 연산을 지원하며, 다음과 같은 연산자가 있습니다.& 또는 intersection(): 교집합| 또는 union(): 합집합- 또는 difference(): 차집합^ 또는 symmetric_difference(): 대칭차집합a = {1, 2, 3}b = .. 2025. 5. 23.
[파이썬][중급] Chapter16. heapq와 우선순위 큐 우선순위 큐(Priority Queue)는 가장 높은(또는 낮은) 우선순위를 가진 요소를 빠르게 꺼낼 수 있는 자료 구조입니다. 파이썬에서는 heapq 모듈을 통해 최소 힙(min-heap) 기반의 우선순위 큐를 효율적으로 구현할 수 있습니다.● heapq란?heapq는 힙(heap) 알고리즘을 기반으로 하는 우선순위 큐 모듈입니다. 리스트를 힙으로 다룰 수 있도록 해주며, 시간 복잡도 O(log n)으로 요소를 삽입하거나 꺼낼 수 있습니다.import heapqheap = []heapq.heappush(heap, 3)heapq.heappush(heap, 1)heapq.heappush(heap, 5)print(heapq.heappop(heap)) # 1위 코드에서 가장 작은 값인 1이 먼저 추출됩니다... 2025. 5. 23.
[파이썬][중급] Chapter14. collections 모듈 (deque, Counter 등) 파이썬의 collections 모듈은 기본 자료형을 보완한 고급 자료 구조들을 제공합니다. 특히 deque, Counter, defaultdict, OrderedDict, namedtuple은 알고리즘과 실무 프로그래밍에서 자주 사용되는 유용한 도구입니다.● deque (덱)deque는 양쪽 끝에서 빠르게 삽입과 삭제가 가능한 자료 구조입니다. 일반 리스트에 비해 앞쪽에서의 연산이 훨씬 빠릅니다.from collections import dequedq = deque([1, 2, 3])dq.append(4) # 오른쪽 추가dq.appendleft(0) # 왼쪽 추가dq.pop() # 오른쪽 제거dq.popleft() # 왼쪽 제거● CounterCo.. 2025. 5. 18.
[파이썬][중급] Chapter13. itertools 모듈 활용법 itertools는 반복 작업을 보다 효율적으로 처리할 수 있게 해주는 파이썬 표준 라이브러리입니다. 조합, 순열, 누적합, 무한 반복 등 다양한 반복자(iterator)를 생성하는 도구들을 제공하여, 복잡한 반복 로직을 간결하게 만들 수 있습니다.● itertools 모듈이란?itertools는 반복 가능한 객체를 생성하거나 조작하는 데 특화된 함수들을 모아둔 모듈로, 대부분의 함수들이 이터레이터를 반환하여 메모리 효율이 뛰어납니다.● 주요 함수 소개count(start=0, step=1): 무한히 증가하는 수열 생성cycle(iterable): iterable을 무한 반복repeat(elem, n): 동일한 요소를 n번 반복accumulate(iterable): 누적합 또는 누적함수 적용product.. 2025. 5. 18.
728x90