[Python] 리스트, 튜플, 셋, 딕셔너리

송진수·2021년 7월 8일
0

리스트와 튜플

리스트 = [1, 2, 3, 'a', 'b', 'c', [1,2,3], (1,2)]

리스트는 append, pop, insert, remove 등 다양한 메서드로 자유롭게 수정이 가능한 반면...

튜플 = (1, 2, 3, 'a', 'b', 'c', [1,2,3], (1,2))

튜플도 리스트와 같이 다양한 값을 요소로 가질 수 있으나, 한번 선언되면 요소의 삽입, 삭제, 수정이 불가능하다.

튜플의 기능만 보자면 리스트보다 불리할 수 있지만, 메모리를 리스트에 비해 적게 사용한다는 장점이 있기 때문에 굳이 삽입/삭제가 필요하지 않은, 즉석에서 만들어내는 자료구조로 활용하기에 좋다.

셋과 딕셔너리

셋과 딕셔너리는 둘 다 { } 중괄호로 묶여 있는 자료 구조로, 순차적 자료구조가 아니면서(리스트와 다르게 인덱싱/슬라이싱 불가능), 요소가 고유한 값을 가진다는 점(수정 가능한 리스트를 원소나 key값으로 가질 수 없다. 튜플은 가능)이 공통점이다.

셋 = {1, 2, 3}
딕셔너리 = {1 :'일', 2 :2, '삼' :[3]}

차이점으로는...

  1. 딕셔너리 내의 데이터는 key:value로 구성되고, key값으로 value값을 불러들일 수 있는 반면, 셋은 요소가 셋에 존재하는지만 판별할 수 있다(보통 in을 통해).

  2. 셋은 우리가 아는 집합처럼 교집합(&), 합집합(|), 차집합(-) 같은 집합 연산이 가능하지만, 딕셔너리는 이런 연산이 불가능하다.

  3. 셋에 요소를 삽입하거나 삭제하려면 add나 remove같은 메서드를 사용하는 반면, 딕셔너리에 요소를 삽입하려면 삽입하고자 하는 key값에 value값을 선언해주면 된다(key값이 이미 존재할 경우 기존 value값을 수정, 삭제할 때는 del dict[key]).

profile
보초

0개의 댓글