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)
튜플 packing
tuple1 = (1, 2, 3)
튜플 unpacking
num1, num2, num3 = tuple1 print(num1, num2, num3)출력 : 1 2 3
값을 변경하면 에러가 발생 한다
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) # 리스트로 변환하여 바꾼 후 튜플로 다시 바꿈.