DOing
[Python] 내장함수, itertools, collections, math 라이브러리 본문
파이썬은 여러가지 표준 라이브러리들을 제공하고 있는데
그중 대표적인 라이브러리와 제공되는 함수들에 대해 알아보겠다.
💡 내장함수
: 기본 입출력함수부터 정렬함수까지 기본적인 함수들을 제공해준다.
a=[1,2,3]
result = sum(a)
min_result = min(a)
max_result = max(a)
# eval() : 실제 수식을 계산해준다.
result = eval("3*5+7")
# sorted() : 각 원소를 정렬
result = sorted(a) #오름차순
result = sorted(a, reverse=True) #내림차순
# sorted() with key
# 람다 형태로 넣어주는 경우가 많다
array = [('홍길동', 35), ('이순신', 75), ('아무개', 50)]
result = sorted(array, key=lambda x:x[1], reverse=True)
💡 itertools
: 파이썬에서 반복되는 형태의 데이터를 처리하기 위한 기능을 제공
: 특히 순열과 조합 라이브러리는 코딩테스트에서 자주 사용된다
Q. 모든 경우의 수를 고려해야 할때 무엇을 사용할 수 있을까?
- 순열 : 서로 다른 n개에서 서로 다른 r개를 선택하여 일렬로 나열
- 조합 : 서로 다른 n개에서 서로 다른 r개를 순서에 상관없이 선택
{'a', 'b', 'c'}
- 순열 : 'abc', 'acb', 'bac', 'bca', 'cab', 'cba'
- 조합 : 'abc'
[ 순열 ]
from itertools import permutations
data = ['a','b','c']
result = list(permutation(data, 3)) # 3개를 나열하는 모든 순열
[ 조합 ]
from itertools import combinations
data = ['a','b','c']
result = list(combinations(data, 2)) # 2개를 뽑는 모든 조합
💡 collections
: 덱, 카운터 등의 유용한 자료구조를 포함한다.
[카운터]
: 등장횟수를 세는 기능 제공
리스트와 같은 반복가능한(iterable)객체가 주어졌을 때 내부의 원소가 몇번 씩 등장했는지 확인한다.
from collections import Counter
counter = Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])
print(counter['blue']) #'blue'가 등장한 횟수 3
print(counter['green']) # 'grren'이 등장한 횟수 1
print(dict(counter)) # 사전 자료형으로 반환 {'red':2, 'blue':3}
💡 math
: 수학기능을 제공한다
: 팩토리얼, 제곱근, 최대공약수(gcd), 삼각함수, 파이상수 제공
[최대 공약수, 최소 공배수]
import math
# 최대 공약수
print(math.gcd(21, 14))
# 최소공약수
def lcm(a,b):
return a * b // math.gcd(a, b)
print(lcm(21, 14))
'Python' 카테고리의 다른 글
[Python] 정규표현식 (0) | 2021.05.19 |
---|---|
[Python] join, split : 문자열과 리스트 사이 변환 (0) | 2021.05.19 |
[Python] List, Tuple, Dictionary, Set 정리 (0) | 2021.04.26 |
[Python] 데이터 입력받기 (0) | 2021.04.26 |