python_(Set, Dictionary)
스퀀스(sequence) 자료구조는 데이터를 슬라이싱이 하거나 정렬했는데, 컬렉션(collection) 자료구조는 데이터를 서로 연관시키지(relating) 않고 모아두는 컨테이너(container)다.
속성 : 멤버십 연산자(in), 크기 함수(len(seq)), 반복성
위 세가지 속성을 지니고 있으며, 파이썬 내장 컬렉션 데이터 타입에는 Set, Dictionary가 있다.
- 셋(Set) : 반복 가능하고, 가변적이며, 중복 요소가 없고, 정렬되지 않은 컬렉션 데이터 타입이다.
일반적으로 멤버십 테스트나 중복 항목 제거에 사용된다.
dir(set()) 을 통해 속성을 확인할 수 있다.
Set 메소드
A.add(x) - set A에 x가 없는 경우 x 추가
company = {'네이버', '카카오', '삼성전자'}
company.add('LG')
print(company) # {'네이버', '카카오', 'LG','삼성전자'}
A.update(x) or A|=x - A를 B에 추가한다(합집합)
company = {'네이버, '카카오'}
company.update({'삼성전자','LG'})
company # {'네이버', '카카오', 'LG','삼성전자'}
그 외에도 union(), intersection(), difference() 등등 다양한 연산자가 있으니 도큐먼트 참고(https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset)
- 딕셔너리(Dictionary) : 해시 테이블(hash table)로 구현되어 있고, key와 value로 구성되어 있고, 딕셔너리의 key는 고유하고 삽입 순서를 기억하지 않아 인덱스 위치를 사용할 수 없다. ->3.7버전부터는 표준 딕셔너리도 삽입 순서를 보존
dir(dict()) 을 통해 속성을 확인할 수 있다.
Dict 메소드
setdefault() - 딕셔너리에서 키의 존재 여부를 모른 채 접근할 때 사용
A.update(B) - A딕셔너리에 B의 키가 존재하면 A의 (키,값)을 B의 (키,값)으로 갱신하고 없다면 키, 값 추가
A.get(key) - A의 key 값을 반환
그외에도 view(항목을 조회하는 객체) 메소드인 items(), values(), keys()/ pop(), popitem() 등 다양한 메소드가 있다.