해당 글은 이것이 취업을 위한 코딩 테스트다 with Python (나동빈 저, 한빛미디어)를 참고하여 작성하였습니다.
제게 필요한 부분을 요약하였으며, 문제가 있을시 삭제하겠습니다.
https://github.com/ndb796/python-for-coding-test
◆내장 함수
●sum()
sum() 함수는 리스트와 같은 iterable 객체가 입력으로 주어 졌을 때, 모든 원소의 합을 반환한다.
value=sum([1,2,3,4,5])
#value == 15
●min(), max()
파라미터가 2개 이상 들어 왔을 때, min() 함수는 최소값을, max() 함수는 최대값을 반환한다.
value=min(1,2,3,4,5)
#value == 1
value=max(1,2,3,4,5)
#value == 5
●eval()
수학 수식이 문자열 형식으로 들어오면 해당 수식을 계산한 결과를 반환한다.
value=eval("(3+5)*7")
#value == 56
●sorted()
iterable 객체가 들어왔을 때, 정렬된 결과를 반환한다.
value=sorted([5,4,2,3,1])
#value == [1,2,3,4,5]
value=sorted([5,4,2,3,1], reverse = True)
#value == [5,4,3,2,1]
#dict 자료형도 정렬할 수 있다. 람다를 사용해서
●sort()
iterable 객체는 sort() 함수를 내장하고 있다.
data=[5,3,2,1,4]
data.sort()
#data == [1,2,3,4,5]
◆itertools
▷반복되는 데이터를 처리하는 기능을 포함하는 라이브러리
●permutations()
▷iterable 객체에서 r개의 데이터를 뽑아 일렬로 나열하는 모든 경우(순열)를 계산해준다.
▷permutations는 클래스이므로 객체 초기화 이후에는 리스트 자료형으로 변환하여 사용한다.
from itertools import permutations
data = ['A','B','C']
result = list(permutations(data, 3))
#result == [('A', 'B', 'C'), ('A', 'C', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('C', 'A', 'B'), ('C', 'B', 'A')]
●combinations()
▷iterable 객체에서 r개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우(조합)를 계산한다.
from itertools import combinations
data = ['A','B','C']
result = list(combinations(data, 2))
#result == [('A','B'), ('A','C'), ('B','C')]
●product()
▷permutations와 같이 iterable 객체에서 r개의 데이터를 중복을 허용해 뽑아 일렬로 나열하는 모든 경우(순열)을 계산한다.
from itertools import product
data = ['A','B','C']
result = list(product(data, repeat=2))
#result == [('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'B'), ('B', 'C'), ('C', 'A'), ('C', 'B'), ('C', 'C')]
●combinations_with_replacement
▷combinations와 같이 iterable 객체에서 r개의 데이터를 중복을 허용하여 뽑아 순서를 고려하지 않고 나열하는 모든 경우를 계산한다.
from itertools import combinations_with_replacement
data = ['A','B','C']
result = list(combinations_with_replacement(data,2))
#result == [('A', 'A'), ('A', 'B'), ('A', 'C'), ('B', 'B'), ('B', 'C'), ('C', 'C')]
◆heapq
▷힙 기능을 위해 제공된다.
▷다익스트라 최단 경로 알고리즘을 로함해 다양한 알고리즘에서 우선순위 큐 기능을 구현하고자 할 때 사용된다.
●heapq.heappush()
▷
●heapq.heapppop()
▷
●
▷
●
▷
◆bisect
▷이진 탐색을 쉽게 구현할 수 있도록 한다
▷'정렬된 배열'에서 특정한 원소를 찾아야 할 때 매우 효과적으로 사용된다.
●bisect_left(a, x)
▷정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 왼쪽 인덱스를 찾는 메서드
●bisect_right(a, x)
▷정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 오른쪽 인덱스를 찾는 메서드
●
▷
◆collections
▷유용한 자료구조를 제공하는 표준 라이브러리이다.
●deque
▷appendleft, appendright
●Counter
▷iterable 객체가 주어졌을 때, 해당 객체 내부의 원소가 몇 번씩 등장했는지를 알려준다.
◆math
●factorial()
▷
●sqrt()
▷
●gcd(a,b)
▷최대 공약수 반환
●math.pi
▷
●math.e
▷
'코딩 공부 > Python' 카테고리의 다른 글
[Python] 파이썬 기초 (1) (0) | 2023.04.02 |
---|---|
[Python] 파이썬 기초 요약 (0) | 2023.03.09 |