python-100

[파이썬 100강] 70강. namedtuple로 가볍고 읽기 좋은 데이터 모델 만들기

딕셔너리는 빠르게 만들기 좋지만, 키 오타가 나도 실행 전까지 잘 안 드러나고 구조가 커질수록 코드 가독성이 급격히 떨어집니다. 이번 강의에서는 collections.namedtuple로 튜플의 가벼움은 유지하면서, 필드 이름으로 의미를 드러내는 데이터 모델을 만드는 방법을 바로 실습합니다.

[파이썬 100강] 69강. ChainMap으로 설정 우선순위와 오버라이드 깔끔하게 관리하기

설정은 보통 한 곳에서 끝나지 않습니다. 기본값이 있고, 환경별 설정이 있고, 실행 시점 옵션이 또 덮어씌웁니다. 이때 딕셔너리를 계속 복사해서 합치면 코드가 길어지고, "지금 어떤 값이 최종값인지" 추적이 어려워집니다. 이번 강의에서는 collections.ChainMap으로 여러 딕셔너리를 우선순위 순서대로 연결해,…

[파이썬 100강] 68강. defaultdict로 누락 없는 그룹화와 집계 자동화하기

리스트를 키별로 묶거나, 키가 처음 등장할 때 자동으로 그릇을 만들고 누적해야 하는 상황은 실무에서 정말 자주 나옵니다. 이번 강의에서는 collections.defaultdict를 써서 초기화 분기(if key not in dict) 를 줄이고, 데이터 집계를 더 짧고 안전하게 만드는 방법을 바로 예제로 익힙니다.

[파이썬 100강] 67강. collections.Counter로 빈도 분석 자동화하기

로그, 검색어, 에러 코드, 사용자 행동 이벤트를 다루다 보면 결국 자주 받는 질문은 하나입니다. “그래서 뭐가 제일 많이 나왔는데?” 이번 강의에서는 collections.Counter로 빈도 집계 코드를 짧고 정확하게 만드는 방법을 바로 예제로 익힙니다.

[파이썬 100강] 66강. bisect로 정렬 리스트에 빠르게 삽입·탐색하기

정렬된 리스트에서 값이 들어갈 위치를 매번 for문으로 찾기 시작하면, 코드도 길어지고 경계값 버그도 자주 납니다. 이번 강의에서는 bisect로 정렬 상태를 유지한 채 위치를 찾고 삽입하는 방법을 익힙니다.

[파이썬 100강] 65강. deque로 양쪽 끝 삽입·삭제를 O(1)로 처리하기

리스트로 큐를 구현하다가 pop(0) 때문에 느려지는 순간이 꼭 옵니다. 이번 강의는 그 지점을 해결하는 표준 도구인 collections.deque를 다룹니다. 핵심은 “양쪽 끝 작업이 많은 구조라면 list보다 deque가 맞다”는 판단 기준을 몸에 익히는 것입니다.

[파이썬 100강] 64강. heapq로 우선순위 큐와 Top-N 처리하기

작업 대기열, 추천 점수, 실시간 알림 우선순위 같은 문제는 “정렬 한 번”으로 끝나지 않습니다. 데이터가 계속 들어오고, 그때그때 가장 중요한 것부터 꺼내야 하죠. 이때 표준 라이브러리 heapq를 쓰면 리스트 기반으로 가볍게 우선순위 큐를 만들 수 있습니다. 서론은 여기까지 하고 바로 예제로 들어가겠습니다.

[파이썬 100강] 63강. statistics로 평균·중앙값·산포를 빠르게 읽기

데이터를 보면 가장 먼저 나오는 질문은 보통 비슷합니다. “평균이 얼마야?”, “이상치 때문에 왜곡된 건 아니야?”, “흩어짐은 어느 정도야?” 같은 질문이죠. statistics 모듈은 이 기본 질문에 바로 답할 수 있게 해주는 표준 라이브러리입니다. 서론은 짧게 하고, 바로 손에 잡히는 예제로 들어가겠습니다.

[파이썬 100강] 62강. fractions로 비율 계산을 정확하게 표현하기

부동소수점(float)은 빠르고 편하지만, 0.1 같은 값을 내부에서 정확히 표현하지 못해 누적 오차가 생길 수 있습니다. 비율, 배합, 점수 가중치처럼 “정확한 분수 관계”가 중요한 작업에서는 이 오차가 결과 신뢰도를 떨어뜨리곤 합니다. 이번 강의에서는 fractions.Fraction으로 값을 분수 그대로 보존하면서…

[파이썬 100강] 61강. decimal로 돈 계산 정확하게 처리하기

쇼핑몰 합계, 정산 수수료, 부가세 계산처럼 “돈”이 들어가는 로직에서 float를 그대로 쓰면 소수점 오차가 누적되어 운영 이슈로 번집니다. 이번 강의는 서론은 여기까지, 바로 decimal.Decimal을 실무 방식으로 쓰는 패턴으로 들어가겠습니다. 목표는 단순 문법 암기가 아니라 계산 정확도 + 반올림 정책 + 저…