본문 바로가기

코딩관련/파이썬 문법

튜플형, 사전형, 집합형

○ 튜플 자료형

     - 튜플은 한번 선언된 값을 변경할 수 없다.

     - 튜플은 소괄호 () 를 사용한다.

     - 튜플을 사용하면 좋은 경우

        ˙ 서로 다른 성질의 데이터를 묶어서 관리해야 할 경우

              -> 최단 경로 알고리즘에서(비용, 노드 번호)의 형태로 튜플 자료형을 자주 사용

        ˙ 데이터의 나열을 해싱(Hashing)의 키 값으로 사용해야 할 경우

              -> 튜플은 변경 불가능하므로 키 값으로 사용될 수 있다.

        ˙ 리스트보다 메모리를 효율적으로 사용해야 할 경우

○ 사전 자료형

     - 키와 값의 데이터 쌍으로 이루어진 자료형.

     - 사전 자료형은 {} 로 표시되며, 순서가 없다.

     - 변경 불가능한 자료형을 키로 사용할 수 있다.

     - 해시 테이블(Hash Table)을 사용하므로 데이터의 조회 및 수정이 O(1)시간에 처리할 수 있다.

  # 사전 자료형 사용
  data  = dict()
  data['포도'] = 'Grape'
  data['키위'] = 'Kiwi'
  data['수박'] = 'Watermelon'
  # data = {'포도': 'Grape', '키위': 'Kiwi', '수박': 'Watermelon'}으로 저장이 됨  

  if '수박' in data :
       print("'수박' 키가 존재함")
  # 데이터가 있으므로 프린터문이 출력이 된다.

  # 키 데이터만 담은 리스트 출력
  key = data.keys()   # key = dict_keys(['포도', '키위', '수박])

  # 값 데이터만 담은 리스트 출력
  value = data.values()  # value = dict_values(['Grape', 'Kiwi', 'Watermelon'])

  # 각 키에 따른 값을 하나씩 출력
  for key in key:
     print(data[key])  # Grape, kiwi, Watermelon 이 하나씩 순서대로 출력됨

 

○ 집합 자료형

     - 집합 자료형은 중복을 허용하지 않으며 순서가 없다.

     - 키가 존재하지 않고 값 데이터만 존재. 특정 원소가 존재하는지 검사하는 연산 시간 복잡도는 사전형과 같은 O(1)임.

     - 초기화 방법에는 set()함수를 사용하거나 중괄호 {} 를 사용한다.

  # 집합 자료형 초기화 방법1
  data = set([1,2,3,3,4,5,5])

  # 집합 자료형 초기화 방법2
  data = {1,1,2,3,4,5,5}

  ==> 두개 다 data = {1,2,3,4,5}로 초기화 됨
  # 합집합, 교집합, 차집합
  a = set([1,2,3,4,5])
  b = set([3,4,5,6,7])

  print(a | b)   #합집합  {1,2,3,4,5,6,7}
  print(a & b) #교집합  {3,4,5}
  print(a - b)  #차집합  {1,2}
  # 집합 자료형 관련 함수
  a = set([1,2,3])
  
  # 원소 추가
  a.add(4)   # a = {1,2,3,4}

  # 원소 여러개 추가
  a.update([5,6])   # a = {1,2,3,4,5,6}

  # 특정 값 삭제
  a.remove(3)   # a = {1,2,4,5,6}

◎ 사전 사료형과 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 없을 수 없다.

'코딩관련 > 파이썬 문법' 카테고리의 다른 글

Join  (0) 2021.06.24
global, lambda  (0) 2021.06.02
입출력  (0) 2021.05.31
리스트  (0) 2021.05.30
수 자료형  (0) 2021.05.30