본문 바로가기
  • soobinhand의 기술 블로그
Computer Science/Python

[Python] 유용한 표준 라이브러리

by soobinhand 2021. 11. 23.
728x90

itertools : 파이썬에서 반복되는 형태의 데이터를 처리하기 위한 유용한 기능들을 제공합니다.

특히 순열과 조합 라이브러리는 코테에서 자주 사용됩니다.

 

heapq : 힙 자료구조를 제공합니다.

일반적으로 우선순위 큐 기능을 구현하기 위해 사용됩니다.

 

bisect : 이진 탐색 기능을 제공합니다.

 

collections : 덱, 카운터 등의 유용한 자료구조를 포함합니다.

 

math : 필수적인 수학적 기능을 제공합니다.

팩토리얼, 제곱근, 최대공약수, 삼각함수 관련 함수부터 파이와 같은 상수를 포함합니다.

 

# 기본적인 내장함수들

result = sum([1,2,3,4,5])
print(result)

min_result = min(7,3,5,2)
max_result = max(7,3,5,2)
print(min_result, max_result)

result = eval("(3+5)*7")
print(result)

result = sorted([9,1,8,5,4])
reverse_result = sorted([9,1,8,5,4], reverse = True)
print(result)
print(reverse_result)

# print 결과
15
2 7
56
[1,4,5,8,9]
[9,8,5,4,1]

 

# 순열

from itertools import permutations

data = ['A', 'B', 'C']
# 모든 순열 구하기
result = list(permutations(data, 3))
print(result)

# print 결과
[('A','B','C'), ('A','C','B') ...]

# 조합

from itertools import combinations

data = ['A', 'B', 'C']
# 2개를 뽑는 모든 조합 구하기
result = list(combinations(data,2))
print(result)

# print 결과
[('A','B'), ('A','C'),('B','C')]


# 중복 순열

from itertools import product

data = ['A', 'B', 'C']
# 2개 뽑는 모든 순열 구하기, 중복 허용
result = list(product(data, repeat = 2))
print(result)


# 중복 조합

from itertools import combinations_with_replacement

data = ['A', 'B', 'C']
# 2개를 뽑는 모든 조합 구하기, 중복 허용
result = list(combinations_with_replacement(data,2))
print(result)

counter

  • 등장 횟수를 세는 기능을 제공합니다.
  • 리스트와 같은 반복 가능한 객체가 주어졌을 때, 내부의 원소가 몇번 등장했는지를 알려줍니다.
# Counter

from collections import Counter

counter = Counter(['red', 'blue','red','green','blue','blue'])
print(counter['blue'])
print(counter['green'])
print(dict(counter))

# print 결과
3
1
{'red': 2, 'blue': 3, 'green': 1}

 

최대 공약수와 최소 공배수

import math

def lcm(a,b):
	return a*b // math.gcd(a,b)

a = 21
b = 14

print(math.gcd(21,14))
print(lcm(21,14))

# print 결과
7
42
728x90

'Computer Science > Python' 카테고리의 다른 글

[Python] 파이썬의 기본적인 입력 방식 for 코딩 테스트  (0) 2021.11.25
[Python] reverse()와 sort(reverse=True) 차이  (0) 2021.11.24
[Python] 함수  (0) 2021.11.23
[Python] 반복문  (0) 2021.11.23
[Python] 조건문  (0) 2021.11.23

댓글