▼2020년/파이썬 기초

[Python] 파이썬에서의 자료형, 튜플형 (4/7)

ITISIK 2020. 1. 21. 23:32
반응형

  지난 포스트에서는 리스트 형에 대해서 전체적으로 훑어보는 시간을 가졌다. 이번에는 리스트 형과 거의 유사하나 약간의 차이점 만을 갖는 튜플형에 대해서 알아보려고 한다. 결론부터 이야기하면 튜플형은 리스트에서 가능하던 삽입, 수정, 삭제가 불가능하다는 점이 가장 큰 특징이고 두 번째로는 대괄호('[', ']')가 아닌 소괄호('(', ')')로 묶는다는 점이 차이점이다.

 

 

튜플형

  이전 포스트에서 리스트 형을 선언했던 코드에서 대괄호만 소괄호로 바꾸어 선언해보려고 한다.

my_tuple_ex1 = ()
my_tuple_ex2 = (1,)
my_tuple_ex3 = (1, 2)
my_tuple_ex4 = ('text', 'text', 'text')
my_tuple_ex5 = (1, 2, 'text')
my_tuple_ex6 = (1, 2, 'text', ('Python', 'R', 'C', 'Java'))
my_tuple_ex7 = 1, 2, 'text', ('Python', 'R', 'C', 'Java')

  위의 코드에서 기존 리스트 문법과 달라진 부분이 딱 한 군데 있는데, 원소가 단 하나만 있는 경우에 해당 원소 뒤에 콤마(,)를 반드시 붙여준다는 점이다. 만약 콤마를 붙여주지 않으면 튜플이 아닌 기본자료형(숫자형, 문자형, 논리형 등)으로 인식된다.

 

  하지만 원소가 두 개 이상인 경우에는 오히려 my_tuple_ex7과 같이 소괄호를 생략해도 tuple형으로 선언된다는 사실이 특징이다.

 

  그럼 이렇게 추가(삽입), 수정, 삭제가 불가능한 튜플형을 실무에서 언제 써먹을지 의구심이 드는 사람도 있을 것이다. 하지만, 실제 프로그래밍이나 데이터 분석을 하다 보면 변해서는 안 되는 수나 문자열이 있는 경우가 의외로 많다. 예를 들어 중력가속도 g = 9.80665㎨ 라든가, 자연상수 e = 2.718281828... 라든가 하는 수들이 대표적이다. 따라서 프로그램의 작동 또는 다른 개발자에 의해서 그 값이 변할까봐 노심초사할 값들에 대해서는 튜플로 선언하는 것이 옳다고 생각한다.

 

  결국 튜플형은 리스트에서 삽입(추가), 수정, 삭제를 제외한 나머지 특징을 가지고 있는 자료형이기 때문에 금방 배울 수 있다.

 

 

튜플 인덱싱, 튜플 슬라이싱, 튜플 덧셈, 튜플 곱셈, 튜플의 길이

  이하는 리스트와 원리와 결과가 동일하기 때문에 자세한 설명은 생략하도록 한다.

my_tuple_ex7[0]
# 1

my_tuple_ex7[3:]
# (('Python', 'R', 'C', 'Java'),)

my_tuple_ex7[:3]
# (1, 2, 'text')

my_tuple_ex2 + my_tuple_ex3
# (1, 1, 2)

my_tuple_ex3 * 3
# (1, 2, 1, 2, 1, 2)

len(my_tuple_ex7)
# 4

 

  다음 포스트에서는 많은 프로그래밍 언어에서 사용되고 있는 Key-Value 형태를 파이썬의 방식으로 구현한 딕셔너리(사전; Dictionary) 자료형에 대해서 알아보려고 한다.

반응형