Set
특징
- 순서가 없다.
- 중복이 불가능하다.
- 인덱스로 접근이 불가능하다
- 반복문 사용시 요소들을 랜덤하게 출력 (숫자일경우 작은값부터 출력)
- list를 parameter로 전달해야한다.
Dictionary
특징
- 순서가 있다. (python 3.5까지는 순서가 없었지만 3.6부터 순서가 존재한다.)
- 중복이 불가능하다.
- 인덱스로 접근이 불가능하다.
- key로 접근이 가능하다.
- 반복문 사용시 순서대로 key만 출력 (메세드를 이용하여 값 or 키-값도 가능)
- key-value 로 parameter를 전달해야 한다. (zip함수 활용 가능, value에 None 가능)
set | dictionary | |
index사용 | 불가능 | 불가능 |
중복 | 불가능 | 불가능 |
중복된 입력값 처리 방법 | 나중에 들어온 요소로 치환 | 나중에 들어온 요소로 치환 |
반복문 사용시 출력되는 값 | 요소 (값) | 키 (not value) |
parameter type | list | key : value |
집합연산자 사용가능 여부 | O | X |
두 자료구조의 차이는 결국 특정 요소에 접근것이 가능한가 불가능한가의 차이이다.
3.6 이후 딕셔너리에 순서가 생겼더라도 index는 사용이 불가능하기에 key를 이용하여 원하는 값에 접근이 가능하지만
set의 경우에는 불가능하다.
또한 set는 집합연산자 사용이 가능하지만 dictionary는 불가능하다.
3.6 버전 이후로는 세트는 순서가 없고 딕셔너리는 순서가 있다는 차이도 생겼다.
List & Tuple 자료구조의 차이
List | Tuple | |
순서 | O | O |
index 사용여부 | O | O |
slice 가능여부 | O | O |
수정가능여부 | O | X |
두자료형의 차이는 수정 가능여부이다.
그로인해 발생 되는것이 바로 삭제,추가 와 같은 수정을 하는 메서드는 튜플에 존재하지 않는다.
'Python > 기초문법' 카테고리의 다른 글
Package & Module (0) | 2022.05.29 |
---|---|
function parameter 순서 (with arguments 처리 순서) (0) | 2022.05.29 |
2달 공부하고 다시쓰는 파이썬 기본 문법 (0) | 2022.05.25 |
(39)파이썬 내장함수 , 연산자 우선순위 ,이스케이프 시퀀스 (0) | 2022.05.09 |
(38)모듈과 패키지 만들기 (0) | 2022.05.07 |