파이썬은 자료형이 불변형, 가변형이 있지만,
그것도 중요하다고 생각하지만 (메모리 구조와 최적화를 위해서 생각해봐야겠지만)
배열을 리스트로 사용하기도 하고, (배열 메소드가 있지만.)
객체로 하기 떄문에 유연하지만 최적화가 좋지 않다. 사실 자바같은 경우는 이를 두가지 동시에 사용할 수 있어서 좋습니다.
파이썬 딕셔너리는 키 값구조로 이루어진 딕셔너리여서 사실상 해시 테이블이다.
다른 언어 같은 경우에는 인덱스를 숫자로만 지정할 수 있는데, 파이썬의 경우는 딕셔너리 해시할 수만 있으면 숫자, 문자, 집합까지 불변 객체를 모두 키로 사용할 수 있다.
len(a) //요소 개수 리턴
a[key] //키를 조회하여 값을 리턴한다.
a[key] = value //키 값을 삽입한다.
key in a // 딕셔너리에 키가 존재하는지 확인한다.
defaultdict, Counter, OrderDict에 대해서 각각 설명함
defaultdict 객체는 존재하지 않는 키를 조회할 경우, 에러 메시지를 출력하는 대신 디폴트 값을 기준으로 해당 키에 대한 딕셔너리 아이템을 생성해준다. 마찬가지로 실제로 collections.defaultdict을 가진다.
a = collections.defaultdict(int)
a['A'] = 5
a['B'] = 4
a
defaultdict(<class 'int'>, {'A': 5, 'B': 4})
a['C'] += 1
a
defaultdict(<class 'int'>, {'A': 5, 'B': 4, 'C': 1})