코테 준비(with Python)_0507

사우나도깨비·2026년 5월 7일

개발공부

목록 보기
10/10

반복문에서 연결자

  • sep ="", end="", "구분자".join(반복객체), *언패킹

itertools모듈

  • product([1,2], ['a','b']) : 데카르트 곱
  • permutations(객체, r) : 순열(순서 상관있이)
for p in permutations(S, k):
    print(''.join(p))
    
permutation은 이터레이터 그 자체여서 print하면 주소값만 출력됨
for 문으로 반복하여 추출해준뒤 join으로 묶어서 만들기
  • combinations(객체, r) : 조합(순서 상관없이)
  • combinations_with_replacement() : 중복조합
  • compress(데이터리스트, 필터리스트)

기타 메서드

  • set()중복없이 나타내줌
  • enumerate() :for idx, val in enumerate(['a', 'b', 'c'])
  • sorted(리스트): 정렬된 새 리스트 반환
  • 리스트.sort(): 원래 리스트를 정렬 (메모리 절약)

모듈

  • collections : counter -> 딕셔너리 생성
from collections import Counter
c = Counter("aabbbc") # {'b': 3, 'a': 2, 'c': 1}
print(c.most_common(1)) # 가장 많이 나온 거 1등 뽑기
  • math
import math
print(math.ceil(2.1)) # 3 (올림)
print(math.gcd(10, 15)) # 5 (최대공약수)
math.floor(x) (내림)
math.trunc(x) (버림)

abs() 절대값
  • 리스트컴프리헨션 : [ (결과값) for (변수) in (뭉치) if (조건) ]

  • heapq:

import heapq

# 1. 일반 리스트를 힙으로 만들기
nums = [5, 1, 9, 3, 7]
heapq.heapify(nums) # 이제 nums는 힙 구조가 됨

# 2. 데이터 넣기
heapq.heappush(nums, 2)

# 3. 가장 작은 값 빼기
smallest = heapq.heappop(nums) # 1이 나옴
print(nums[0]) # 그 다음으로 작은 숫자인 2가 항상 0번에 있음

# 4. 상위 K개 뽑기 (제일 많이 씀!)
# nums에서 가장 큰 숫자 3개 뽑기
top_3 = heapq.nlargest(3, nums)
# nums에서 가장 작은 숫자 3개 뽑기
bottom_3 = heapq.nsmallest(3, nums)

datetime : strptime() (p는 계산파싱), strftime() (f는 형식 포맷)
%H(24시간), %I(12시간), %p(Am,Pm), %M(분), %S(초)

0개의 댓글