Programming Language/Python

[Python] 05. 튜플(Tuple) 자료형

lumana 2023. 11. 4. 23:42

튜플(Tuple) 자료형


  • 튜플(Tuple)이란?

    • 콤마(,)로 구분되는 임의의 python objects들의 목록

    • compound data

    • 길이가 1개짜리 tuple 생성 시 뒤에 반드시 ,를 붙여야 함

  • 리스트와 튜플의 공통점, 차이점

    • 리스트는 []로 둘러싸고, 튜플은 ()로 둘러쌈

    • 리스트는 값의 생성, 수정, 삭제가 가능하지만, 튜플은 그 값을 바꿀 수 없다.

      (수정하려고 시도하는 경우에는 오류 발생)

      • 값이 바뀔까 걱정될 때는 튜플을, 값이 자주 변화될 경우에는 리스트를 사용한다.
  • 튜플(Tuple)의 생성 방법 (Packing)

    • 기본적인 생성 방법

      리스트명 = (a, b, c, d, ...)
    • example

      t1 = ()
      t2 = (1,) # 1개의 요소만을 가질 때는 요소 뒤에 ,를 붙여야 한다.
      t3 = (1, 2, 3)
      t4 = 1, 2, 3 # 괄호를 생략해도 무방하다
      t5 = ('a', 'b', ('ab', 'cd')) # 튜플은 튜플을 가질 수 있다.
  • 튜플 인덱싱

    : 튜플이름[인덱스]

    t1 = (1, 2, 'a', 'b')
    t1[0]
    res : 1
  • 튜플 슬라이싱

    : 리스트에서 사용하던 방식과 유사

    t1 = (1, 2, 'a', 'b')
    t1[1:] # 대괄호를 사용하자
    res : (2, 'a', 'b')
    
    t1[0::2] # 0번째 인덱스부터 끝까지, 슬라이스 할 간격(step) = 2
    res : (1, 'a')
    
    t1[::-1] # 역순으로, 슬라이스 할 간격 = -1
    res : ('b', 'a', 2, 1)
  • 튜플 더하기

    t1 = (1, 2, 'a', 'b')
    t2 = (3, 4)
    t1 + t2
    res : (1, 2, 'a', 'b', 3, 4)
    
    (1, 2, 3)에 값 4를 더해 (1, 2, 3, 4) 만들기
    --> (1, 2, 3) + (4,)
  • 튜플 곱하기

    t2 = (3, 4)
    t2 * 3
    res : (3, 4, 3, 4, 3, 4)
  • 튜플 길이 구하기(len 함수)

    t1 = (1, 2, 'a', 'b')
    len(t1)
    res : 4
  • 튜플 언패킹(Unpacking)

    • 튜플에 묶여있는 데이터를 풀어낸다는 뜻
    Coffee = (2000, "Large") # 튜플 패킹
    Price, Size = Coffee # 튜플 언패킹
    
    prof_tuple = ('choi', 327, True)
    name, *others = prof_tuple # 첫번째 요소를 name에, 나머지 원소를 others에 튜플로 저장
    # name = 'choi'
    # others = (327, True)

참조) Do it! 점프 투 파이썬 (박응용 지음), https://wikidocs.net (파이썬 계단밟기)