알고리즘 문제를 많이 푸는것도 중요하지만,
"memoization, DP, 완탐(bfs,dfs), 그래프, 트리, 최단경로, 그리디, 구현" 위주로 문제를 많이 풀어보는것이 중요함.
그리고 공식문서를 볼 때 버전을 맞춰서 읽는 게 중요함! (버전은 3.8 ~ 3.9 사이가 많이 쓰인다고 함)
내일도 화이팅!
itertools
반복자(iterator) 관련 다양한 함수 제공 - https://docs.python.org/ko/3.8/library/itertools.html
몇가지 예시
- counter() : 지정된 값에서 시작한 시퀀스를 생성하는 함수
- cycle() : 지정된 시퀀스를 무한히 반복하는 함수
- repeat() : 지정된 값을 지정된 횟수만큼 반복하는 함수
- chain() : 두 개 이상의 시퀀스를 연결하는 함수
- permutations() : 지정된 시퀀스의 모든 가능한 순열을 생성하는 함수
- 순열 : 서로 다른 N개에서 r개를 뽑아 한 줄로 세우는 경우의 수
- combinations() : 지정된 시퀀스의 모든 가능한 조합(중복 없음)을 생성하는 함수
- accumulate() : 시퀀스의 누적 합계를 계산하는 함수
- islice() : 지정된 요소를 포함하는 시퀀스를 생성하는 함수
collections
컨테이너 클래스 - https://docs.python.org/ko/3/library/collections.html
클래스 사용시마다 해당 클래스를 import 해주어야 한다.
몇가지 예시
- counter : Counter 클래스는 해시 가능한 객체의 개수를 세는 데 사용되는 특별한 딕셔너리
- defaultdict : 기본 값을 지정할 수 있는 특별한 딕셔너리 클래스
- deque : deque 클래스는 양방향 큐(Double-ended Queue)
가변인자
정의 : 함수 정의 시에 인자의 개수에 제한이 없이 다양한 인자를 처리 가능
*args
- args는 위치 인자를 임의의 개수로 받을 수 있는 매개변수
- 함수를 호출할 때 넣은 위치 인자들은 튜플로 묶여서 함수 내부로 전달
**kwargs
- kwargs는 키워드 인자를 임의의 개수로 받을 수 있는 매개변수
- 함수를 호출할 때 넣은 키워드 인자들은 딕셔너리로 묶여서 함수 내부로 전달
람다 함수
쓰는 방법 : lambda 인자 : 표현식
정렬, 필터링과 매핑(https://wikidocs.net/22803) 에서 많이 쓰인다
예시
# 1
stu.sort(key=lambda x : x["age"]
print(stu)
# 2
num = [1,2,3,4,5]
squared = list(map(lambda x: x ** 2, num))
print(squared)
'내일 배움 캠프 > TIL' 카테고리의 다른 글
Import could not be resolved 오류 (0) | 2023.06.12 |
---|---|
사용자 ip 가져오기 & 조회수 기능 만들기(1) (0) | 2023.06.09 |
TIL) 12주차 1일 (0) | 2023.05.30 |
TIL) 11주차 4일 (0) | 2023.05.26 |
TIL) 11주차 1일 (0) | 2023.05.23 |