Python: List, Tuple, Dictionary, Set

Tasic·2021년 5월 16일
0

Python

목록 보기
5/7
post-thumbnail

서론

파이썬에서는 여러가지 data를 담을 수 있는 함수 들이 있습니다.

컬렉션 (Collection) 이란

여러(복수의) 자료들을 규칙있게 담아놓은 장소/자료구조 등을 의미

  • 한번에 많은 복합 자료의 저장,이용이 가능함.
  • 프로그래밍 언어 또는 환경 마다, 프로그램 작성 편의 측면에서, 데이터에 쉽게 접근하고, 쉽게 사용할 수 있는 다양한 실무적 도구들을 제공하고 있음

참조: Collection-정보통신기술용어해설

기본적으로 python에는 List, Tuple, Dictionary, Set 등이 있으며, 이 외에도 여러가지 컬렉션이 존재 합니다.

frozenset - immutable(수정불가) 특성을 가지고 있는 set
표준라이브러리 지원 컬렉션

오늘은 List, Tuple, Dictionary, Set의 차이점에 대해서 정리해 보려 합니다.

List, Tuple

공통점

  • 순서가 있는 객체이므로 index로 접근가능

차이점

  • List는 mutable 객체이므로, 삽입, 수정, 삭제 등이 가능하고, Tuple은 immutable 객체 이므로 삽입, 수정, 삭제등이 불가능 합니다.
  • Tuple은 immutable이므로 Dictionary의 Key값 및 Set의 요소로 사용 될 수 있는 반면, List는 불가능 합니다.
  • 깊은 복사(deep copy)시, List는 새로운 사본을 만드는 반면, Tuple은 기본적으로 새로운 사본을 만들지 않습니다. 다만 Tuple안에 mutable 객체가 존재시 새로운 사본을 만듭니다.

    얕은 복사(shallow copy)와 깊은 복사(deep copy)

Dictionary, Set

공통점

  • 순서가 없는 객체이므로 index로 접근 불가능
  • mutable 객체이므로, 삽입 수정 삭제 등이 가능하다.
  • Key값(set일 경우 요소) 중복을 허용하지 않으며, key 값으로 immutable객체만 가능하다.
  • 즉 tuple은 Dictionary의 Key값 및 set의 요소로 추가가 가능하지만은 List는 불가능함.

차이점

  • Dictionary는 Key-Value 형태로 구성되어 있으나, Set은 요소로만 구성되어 있음.
  • 끼워 맞추자면 Set은 Dictionary의 Value가 없는 형태
  • set은 연산자를 이용해서 교집합, 합집합, 차집합을 할 수 있다.

Reference

02장 파이썬 프로그래밍의 기초, 자료형 - 점프 투 파이썬

profile
블로그 옮겼습니다 (https://jotasic.github.io)

0개의 댓글