[Data Structure] 2. Tuple

hyeyul·2020년 5월 11일
0

wecode

목록 보기
6/6

1. 정의 - Tuple

Tuple 이란?

  • List와 마찬가지로 데이터를 순차적으로 저장할 수 있는 순열 자료구조이다.
  • 하지만 list와 다르게 한 번 정의되고 나면 수정할 수 없다.(immutable)
  • 2-3개 정도의 적은 수의 소규모 데이터를 저장할 때 많이 사용한다.
  • 함수에서 리턴 값을 한 개 이상 리턴하고 싶을 때 자주 쓰인다.

2. Tuple의 장점

  • Tuple은 간단한 값을 빨리 표현하고 싶을 때 많이 사용한다.

  • 예를 들면 함수에서 리턴 값을 한 개 이상 리턴하고 싶을 경우 (ex. 지도 좌표)

    • Tuple을 사용하는 경우와 class/object 를 사용하는 경우를 비교해보자.

      // Tuple을 사용하는 경우
      [(1,2), (2,4)] // Array(List) 안의 Tuple
      
      // Tuple을 안 쓰는 경우에는 class를 생성해야함
      class cord:
      	def __init__(self, x, y):
      		self.x = x
      		self.y = y

3. Tuple의 단점

  • Tuple의 단점은 데이터가 무슨 의미인지 명확하지 않다는 것이다.
  • 데이터의 의미를 문맥을 보고 가정해야 한다.
    • 예를 들면 객체의 경우 key-value 쌍으로 이루어진 데이터이기 때문에 무슨 데이터인지 파악이 쉽지만, Tuple의 경우 괄호 안에 데이터만 담겨있기 때문에 문맥에 맞게 의미를 추측해야 한다.
  • 그렇기 때문에 Tuple은 소규모 데이터를 다루기에 적합하다.
  • cf) 이러한 단점을 극복하기 위해 Named Tuple 이란 것도 존재한다.(Python)

0개의 댓글