728x90
🐍 파이썬
✔️ enumerate()
- '열거하다'라는 뜻을 가진 함수이다!
- 순서가 있는 자료형(list, set, tuple, dictionary, string)을 입력 받고 인덱스와 원소를 튜플 형태로 리턴!
- 인덱스와 원소를 다른 변수에 할당하고 싶다면 unpacking을 해야 한다!
- 시작 인덱스를 바꾸고 싶다면 start에 시작하고 싶은 숫자를 넘기면 된다!
### Example
for i in enumerate(['A', 'B', 'C']):
print(i)
....
(0, 'A')
(1, 'B')
(2, 'C')
### Example2
for idx, element in enumerate(['A', 'B', 'C']):
print(idx, element)
....
0 A
1 B
2 C
### Example3
for idx, element in enumerate(['A', 'B', 'C'], start=1):
print(idx, element)
....
1 A
2 B
3 C
✔️ heapq
- 이진 트리 기반의 최소 힙의 자료구조를 제공한다!
- min heap 이므로 가장 작은 값은 0번 인덱스(루트)에 위치하고 항상 정렬되어 추가되고 삭제된다!
- 내장 모듈이므로 import 하여 사용한다!
### heap 만들기 ###
# 1. 빈 리스트를 생성하고 heapq 모듈의 함수를 사용한다
# 2. 값이 있는 리스트를 힙으로 변환한다 (O(n)의 시간 소요)
heap = []
arr = []
heapq.heapify(arr)
### 원소 추가하기
heapq.heappush(heap, 4)
heapq.heappush(heap, 1)
heapq.heappush(heap, 2)
....
[1, 2, 4]
### 원소 삭제하기 (값을 리턴!)
print(heapq.heappop(heap))
print(heap)
....
1
[2, 4]
✔️ map()
- 파이썬의 내장 함수!
- 여러 개의 데이터를 한 번에 다른 형태로 변환해준다.
- 리턴 값은 map 타입! 리턴 값을 변환해서 저장해야 한다!
'개인 공부 > TIL' 카테고리의 다른 글
TIL : Union-Find 알고리즘, Disjoint Set 자료구조 (6) (0) | 2022.08.07 |
---|---|
TIL : 다익스트라 알고리즘 (5) (0) | 2022.08.01 |
Today I Learned : 파이썬 (4) (0) | 2022.07.17 |
Today I Learned : 코딩테스트, 파이썬, 소수 (2) (0) | 2022.07.01 |
Today I Learned : MarkDown? (1) (0) | 2022.06.22 |
댓글