TIL 19. 파이썬 Set, Dictionary / List, Tuple

윤현묵·2021년 8월 8일
0

Python

목록 보기
4/7

이번에는 파이썬의 자료형의 대표적인 Set, Dictionary, List, Tuple에 대하여 알아보도록 하겠습니다. 서로 공통점과 차이점이 항상 헷갈리기에 확실히 알고 넘어가야할 것 같습니다.

1. Set과 Dictionary

  • Set
    -. 순서가 없음 (인덱싱 불가)
    -. 중복을 허용하지 않음
    -. 키가 존재하지 않고 값 데이터만을 담고 있음
    -. Dictionary와 마찬가지로 특정 원소를 검색하는 연산은 O(1)의 시간복잡도를 갖음
    → 특정한 데이터가 이미 등장한 적있는지 여부를 체크할때 매우 효과적
    -. 형태는 중괄호를 사용. a={1, 2, 3, 4, 5}
    ※ 시간복잡도: 알고리즘의 수행 시간으로서, 알고리즘의 시간복잡도는 주로 빅-오(Big-O)표기법을 사용하여 나타냅니다.
  • Dictionary
    -. 순서가 없음 (인덱싱 불가)
    -. 키(key)-값(value)의 쌍을 데이터로 가지는 자료형
    -. 파이선의 Dictionary 자료형은 내부적으로 해시테이블을 사용하므로 데이터의 검색/수정에 있어서 O(1)의 시간에 처리할 수 있음
    -. 형태는 중괄호를 사용. dict = {1:"치킨", 2:"족발"}

  • 차이점

    -. set은 key값만 있지만 dictionary는 key,value 값이 있다.
    -. dictionary는 key값은 immutalbe(변경할 수 없는) 형식이어야하고, value값은 mutable(변경가능) 형식도 가능하다.
    -. set은 가변(mutable) 리스트형

2. List와 Tuple

  • List
    -. 순서가 존재 (인덱싱 가능)
    -. 수정이 가능
    -. 형태는 대괄호 사용. a = [1, 2, 3, 4, 5]

  • Tuple
    -. 순서가 존재 (인덱싱 가능)
    -. 한번 선언된 값을 변경할 수 없음
    -. 리스트에 비해 공간 효율적이고 잘못된 알고리즘으로 변경되면 안되는 값이 변경되는 것을 방지
    -. 수정이 불가능
    -. 형태는 소괄호 사용. a = (1, 2, 3, 4, 5)

  • 차이점

    -. list는 []로 둘러싸고 tuple은 ()로 값들을 둘러쌈.
    -. list는 mutable(변경가능), tuple은 immutable(변경할 수 없는) 형식
    -. list는 list.append() 이와 같은 방법 들로 수정이 가능하지만 tuple은 수정이 불가능

참고자료 https://doing7.tistory.com/50

profile
진정성 있는 개발자를 꿈꾼다

0개의 댓글