Python/Data Type

[Python] Sequence Data Type - tuple

데이터 세상 2022. 4. 25. 14:01

Sequence Data Type

  • memership 연산: in 키워드 사용
  • size 함수: len(seq)
  • slicing 속성: seq[:-1]
  • iterability: 반복문에 있는 데이터를 순회할 수 있음
  • 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있음

tuple

  • 쉼표(,)로 구분된 값을 괄호()을 이용해서 선언
  • 괄호없이 튜플 선언 가능
  • 한 개의 요소만 사용하여 튜플을 선언할 때에는 반드시 콤마(,)를 사용해야 함
  • 삽입, 삭제, 수정 등이 불가능
tuple_1 = ()
tuple_2 = tuple()
tuple_3 = (1, 2)
tuple_4 = (3, )
tuple_5 = (4, 5, (6, 7))
tuple_6 = 8, 9, 10

t1 = 1234, "안녕!"
t1[0]
>> 1234

t1
>> (1234, "안녕!")

t2 = t1, (1,2,3,4,5)
t2
>> ((1234, "안녕!"), (1,2,3,4,5)) 

tuple 연산

  • 덧셈: 두 튜플을 연결하여 하나의 튜플로 만듦
  • 곱셈: 튜플을 반복하여 연결하여 하나의 튜플로 만듦
tuple_1 = (1, 2)
tuple_2 = (3, )
tuple_1 + tuple_2
>> (1, 2, 3)

tuple_2 * 2
(3, 3)

tuple method

  • count(x): 튜플에 담긴 항목 x의 개수를 반환
  • index(x): 항목 x의 인덱스 위치를 반환
t1 = (1, 2)
t2 = (3, )
t1 + t2
>> (1, 2, 3)

t4*2
>> (3, 3)

튜플의 필요성

  • 불변성(immutable)

튜플 언패킹

  • 파이썬에서 모든 반복 가능한(iterable) 객체는 sequence unpacking operator *를 사용하여 언패킹할 수 있다.
  • 변수를 할당하는 문장에서 왼쪽에 두 개 이상의 변수를 사용하고 한 변수 앞에 * 연산자를 붙이면, 오른쪽 값들 중 할당되고 남은 값들이 * 연산자가 붙은 변수에 할당
x, *y = (1, 2, 3, 4)
x
>> 1
y
>> [2, 3, 4]
*x, y = (1, 2, 3, 4)
x
>> [1, 2, 3]
y
>> 4

References

반응형