파이썬은 자바와 달리 유연한 개발을 할수 있게 해준다.
대표적으로 List의 슬라이싱, collections 패키지의 depue, defaultdict, Counter 등.
유연한 개발을 하기 위한 도구를 학습을 해보자.
리스트
아래와 같은 리스트를 선언할 수 있다.
a = list()
len(a) - 전체 요소 개수 리턴
a[i] - 인덱스 i의 요소
a[i:j] - i부터 j까지 슬라이스의 길이만큼 k개의 요소 가져온다.
**이때 주의해야 될 점은 i 인덱스부터 j-1 까지의 인덱스를 가져온다.
elem in a - elem 요소가 존재하는지 확인한다. 처음부터 순차 탐색
a.count(elem) - elem 요소의 개수를 리턴
a.index(elem) - elem 요소의 인덱스를 리턴
a.append(elem) - 리스트의 마지막에 elem 요소 추가
a.pop() 리스트 마지막 요소 추출
a.pop(0) 리스트 첫번째 요소 추출
del a[i] - 특정 요소 리스트에서 삭제
a.sort() - 팀소트로 정렬
min(a), max(a) 최솟값/ 최댓값 게산
a.reverse() 뒤집기.
----
a = [1,2,3]
a.insert(3,5)
> [1,2,3,5,4]
---
a.append('안녕')
a.append(True)
a
> [1,2,3,5,4, '안녕', True]
---
list 에서 요소를 삭제하는 방법
1. 인덱스로 삭제
> del a[1]
[1,3,5,4, '안녕', True]
2. 값으로 삭제
> a.remove(3)
[1,5,4,'안녕',True]
딕셔너리
Java의 HashMap과 유사하다.
b = dict()
len(a) - 요소 개수 리턴
a[key] - 키를 조회, 값을 리턴
a[key] = value - 키/값을 삽입
key in a - 딕셔너리에 키가 존재하는지 확인
딕셔너리 모듈로서, defaultdict, Counter, OrderDict 이 존재한다.
defaultdict
존재하지 않는 키를 조회할 경우, 에러 메세지를 출력하는 대신 디폴트 값을 기준으로 해당 키에 대한 딕셔너리 아이템을 생성.
a = collections.defaultdict(int)
a['A'] = 5
a['B'] = 4
a
> defaultdict(<class 'int'>, {'A':5, 'B':4})
Counter
a = [1,2,3,4,5,5,5,6,6,]
b = collections.Counter(a)
b
Counter({5:3,6:2,1:1,2:1,4:1})
b.most_common(2)
# 가장 빈도수가 높은 2가지는?
[(5,3), (6,2)]
댓글