티스토리 뷰

튜플이란?

튜플은 읽기 전용인 데이터 형이라고 생각하시면 됩니다. 읽기 전용이라고 하면 보통 수정은 되지 않습니다. 튜플도 값을 수정할 수는 없고 값에 접근해서 값을 읽을수만 있습니다.

튜플 자료형을 만들어봅시다.

튜플 자료형을 만드는 방법은 3가지가 있습니다. 

tup1 = (1, 2, 3, 4)
tup2 = ("lemon", "candy")


우선 소괄호에 값들을 넣고, 각 값을 ,(쉼표)로 구분하면 됩니다. type(변수명)을 치면 타입을 확인할 수 있습니다. <class 'tuple'>라고 뜨는 것을 확인할 수 있습니다.


tup1 = 5, 6, 7
tup2 = "ti", "story"


소괄호를 사용하지 않더라고 쉼표로 구분해서 값을 여러개 적으면 튜플로 선언됩니다. tup1과 tup2의 타입을 확인하시면 튜플이라는 것을 알 수 있습니다.


tuple("lemon") #("l", "e" "m" "o" "n")
tuple([1, 2, 3, 4]) #(1, 2, 3, 4)


마지막 방법은 tuple() 함수에 넣는 것입니다. 문자열, 리스트 등 자료형을 tuple()함수에 넣으면 튜플로 변환됩니다.

값이 하나만 있을 수도 있을까요?

tup1 = (1)
type(tup1) # <class 'int'>


소괄호 안에 값을 하나만 넣은 후 타입을 확인하면 tuple이라고 정의되지 않습니다. 튜플에 값을 하나만 설정할 경우 뒤에 쉼표를 붙여줘야 합니다.


tup1 = (1,)
tup2 = 2,
tuple([3]) #( 3, )


값이 하나일 땐 쉼표를 붙여야 하고, 튜플 자료형을 정의하는 방법에는 3가지가 있다는 것도 기억해주세요.

값에 접근하는 방법

튜플도 인덱스를 가집니다. 인덱스를 통하면 해당 값에 접근할 수 있습니다.

tup1 = ("lemon", "candy")
tup2 = ("ti", "story")
tup1[0] #"lemon"
tup2[0] #"ti"


인덱스로 값에 접근할 수 있다면 슬라이싱도 할 수 있습니다. 슬라이싱을 통해서 값들을 합치는 연습을 해보세요.

언팩킹(unpacking)

한 번에 여러 변수에 값을 할당하는 것을 언팩킹이라고 합니다.

tup1 = ("lemon", "candy")
blog, name = tup1


값을 할당할 변수를 왼쪽에 적고, 오른쪽에 값이 있는 튜플을 적으면 언팩킹이 됩니다. blog엔 "lemon"이라는 값이, name에는 "caandy"라는 값이 담기게 됩니다.

튜플 삭제하기

튜플은 읽기 전용이라고 표현했습니다. 수정이나 삭제를 할 수 없죠. 하지만 내부의 값을 수정이나 삭제하지 못하는 것이지 del로 삭제할 수 있습니다.

tup = ("hello", "world")
del tup


del tup[0]처럼 튜플형 안의 값을 수정하거나 삭제하려고 하면 에러가 납니다.



오늘은 튜플형에 대해서 알아보았습니다. 기본적인 문법들을 다 다루고 난 뒤엔 파이썬으로 크롤링 파일을 만들어보도록 하겠습니다.



공감은 제작자에게 큰 힘이 됩니다.


댓글