(댓글, 수정 환영합니다^^)

⌨️서론

파이썬을 처음 접하는 사람들이 흔히 하는 질문들 중 하나가 튜플과 리스트의 차이이다.

두 가지의 자료형은 생긴 모습이나 형태가 비슷하지만 각자 다른 특징을 가지고 있고, 그에 따른 쓰임도 다르다.

✏️공통점

_tuple_ = (1,2,3,'a','b','c')
print(_tuple_)  #(1, 2, 3, 'a', 'b', 'c')

_set_ = set([1,2,3,'a','b','c'])
print(_set_)    #{1, 2, 3, 'b', 'a', 'c'}

그래서 튜플이나 리스트에 저장되어있는 값 하나를 불러오고 싶을 때는 'tuple[0]' 과 같은 방식으로 불러올 수 있다.

✏️차이점

_tuple_ = (1,2,3,'a','b','c')
_list_ = [1,2,3,'a','b','c']

print(_tuple_)   #(1, 2, 3, 'a', 'b', 'c')
print(_list_)    #[1, 2, 3, 'a', 'b', 'c']

_list_[0] = 5
_tuple_[0] = 5

print(_tuple_)   #Error!(사실 튜플을 변경하려는 시도 자체가 에러 발생요소이다.)
print(_list_)    #[5, 2, 3, 'a', 'b', 'c']

따라서 리스트에서는 가능한 .append()와 같은 메소드는 튜플에 적용되지 않는다.

❓왜 튜플을 사용하는가?

리스트와 달리 내 입맛대로 변경 불가한 튜플이라는 자료형을 왜 만들었고 왜 사용하는 것일까?

그것은 변수와 상수를 예로 들 수 있다.

변수는 입력된 값을 코드 내에서 마음대로 바꿀 수 있다는 장점이 있고, 상수는 그렇지 않다. 하지만 상수는 변수에 비해 메모리 용량을 덜 차지하고 그만큼 더 좋은 성능(속도)을 낼 수 있다.