2025.03.06(목) 슈퍼코딩 AI/DATA Day 10 일일보고 - 데이터 자료형_ 튜플 (tuple)

Honey_Bunny·2025년 3월 6일

슈퍼코딩

목록 보기
12/23

튜플 자료형 (tuple)


  • 튜플 자료형은 리스트와 같은 데이터의 목록
  • 콤마(,)로 데이터를 나열하거나 괄호( ) 안에 ,로 데이터를 나열하여 튜플을 만든다
  • 길이 1개짜리 튜플을 만들려면 반드시 뒤에 콤마(,)를 붙여야 합니다
  • 리스트는 원소 값을 수정, 삭제, 추가 할수 있으나, 튜플은 수정, 추가, 삭제를 할수 없다

튜플 만들기


tuple 초기화

tuple1 = 1, 2, 3, 4, 5
tuple2 = (6, 7, 8, 9, 10)
print(tuple1, type(tuple1))
print(tuple2, type(tuple2))
출력 : (1, 2, 3, 4, 5) <class 'tuple'>
출력 : (6, 7, 8, 9, 10) <class 'tuple'>

다음은 tuple이 아니다

tuple3 = 1
tuple4 = (1)
print(tuple3, type(tuple3))
print(tuple4, type(tuple4))
출력 : 1 <class 'int'>
출력 : 1 <class 'int''>

다음은 tuple 이다

tuple3 = 1,
tuple4 = (1,) # 원소 하나짜리 튜플
print(tuple3, type(tuple3))
print(tuple4, type(tuple4))
출력 : (1, ) <class 'tuple'> 
출력 : (1, ) <class 'tuple'>

다른 자료형들의 모임

tuple5 = (1, [1,2], '홍길동', True,(1,2,3))
print(tuple5, type(tuple5))
출력 : (1, [1, 2], '홍길동', True, (1, 2, 3)) <class 'tuple'>

튜플의 인텍스와 슬라이스

  • 튜플은 리스트와 같이 인텍스와 슬라이스를 사용할 수 있다

tuple1 = (0, 1, 2, 3, 4, 5)
print(tuple1[3])
print(tuple1[-2])
print(tuple1[2:4])
print(tuple1[2:])
print(tuple1[-4:])
출력 : 3
출력 : 4
출력 : (2, 3)
출력 : (2, 3, 4, 5)
출력 : (2, 3, 4, 5)

튜플 Unpacking

  • tuple을 변수에 할당하고 초기화 하는 것을 일반 적으로 packing 이라고 한다
  • tuple의 원소들을 값을 한 번에 각각의 여러 변수에 할당하는 것을 unpacking 이라고 한다

튜플 packing

tuple1 = (1, 2, 3)

튜플 unpacking

num1, num2, num3 = tuple1
print(num1, num2, num3)
출력 : 1 2 3

튜플은 불변객체(immutable)이다

  • tuple의 원소 값 변경이 불가하다
  • tuple의 원소 삭제가 불가하다

값을 변경하면 에러가 발생 한다

tuple1 = (1, 2, 3, 4)
tuple1[0] = 0

값을 삭제하면 에러가 발생한다

tuple1 = (1, 2, 3, 4)
del tuple1[0]
  • 하지만, 튜플에 리스트나 사전을 원소로 추가할 경우 객체의 값을 변경하는 것은 가능하다 ( 객체안의 객체를 바꾼것)
a = [1,2,3]
b = {"a":1, "b":2}
tuple1 = (a, b)
print(tuple1)
출력 : ([1, 2, 3], {'a' : 1, 'b' :2})
a.append(4)
print(tuple1)
출력 : ([1, 2, 3, 4], {'a' : 1, 'b' : 2})
b["c"] = 3
print(tuple1)
출력 : ([1, 2, 3, 4], {'a' : 1, 'b' : 2, 'c' : 3}) 
  • 튜플의 값을 변경해야 할 경우 가장 쉬운 방법은 튜플을 리스트로 변환한 다음 값을 변경하고 다시 튜플로 변환하는 것이다

리스트로 변환하여 튜플 값 변경하기

tuple1 = (1, 2, 3, 4)
tuple1 = list(tuple1)
tuple1[1] = 9
tuple1 = tuple(tuple1)
print(tuple1)
출력 : (1, 2, 3, 4) -> (1, 9, 3, 4) # 리스트로 변환하여 바꾼 후 튜플로 다시 바꿈.

profile
현재 : C# WPF 개발자 / 목표 : AI 의료 영상 분석 연구원

0개의 댓글