<개인공부>/[Python]

[Python] 파이썬 리스트와 튜플 차이점 알아보기

BlockDMask 2025. 6. 9. 07:52

안녕하세요. BlockDMask 입니다.
오늘은 파이썬의 리스트(List)와 튜플(Tuple)의 차이점에 대해서 알아보겠습니다.

파이썬을 처음 공부하다 보면 리스트와 튜플이 비슷하게 생겨서 헷갈릴 수 있습니다.
하지만 중요한 차이점이 있고, 그에 따라 사용하는 목적도 다릅니다.

1. 리스트(List)와 튜플(Tuple)의 기본 구조

# 리스트는 대괄호 [] 사용
my_list = [1, 2, 3, "BlockDMask"]

# 튜플은 소괄호 () 사용
my_tuple = (1, 2, 3, "BlockDMask")

print(type(my_list))  # <class 'list'>
print(type(my_tuple)) # <class 'tuple'>

설명: 리스트는 대괄호 [], 튜플은 소괄호 ()를 사용합니다.
둘 다 여러 개의 값을 하나로 묶는 자료형이지만, 튜플은 변경이 불가능하다는 특징이 있습니다.

 

2. 변경 가능 여부 (Mutability)

my_list = [1, 2, 3]
my_list[0] = 100
print(my_list)  # [100, 2, 3]

my_tuple = (1, 2, 3)
my_tuple[0] = 100  # TypeError 발생

설명: 리스트는 값을 수정할 수 있지만, 튜플은 수정이 불가능합니다.
튜플을 선언한 후에는 값을 바꾸거나 삭제할 수 없습니다. 그래서 데이터의 불변성을 유지해야 하는 경우 튜플을 사용합니다.

 

3. 메모리 사용 및 성능 차이

import sys

list_data = [1, 2, 3, 4, 5]
tuple_data = (1, 2, 3, 4, 5)

print(sys.getsizeof(list_data))  # 예: 104
print(sys.getsizeof(tuple_data)) # 예: 88

설명: 같은 데이터를 담고 있어도 튜플이 리스트보다 더 적은 메모리를 사용합니다.
따라서 데이터 변경이 필요 없다면 튜플을 사용하는 것이 성능적으로 더 좋습니다.

 

4. 사용 가능한 메서드

my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

my_tuple = (1, 2, 3)
# my_tuple.append(4)  # AttributeError 발생

설명: 리스트는 append(), remove(), sort() 등 다양한 메서드를 지원합니다.
반면 튜플은 count()index() 정도만 지원하며 메서드가 매우 제한적입니다.

 

5. 튜플은 어디에 쓰일까?

# 여러 값을 반환할 때 튜플로 반환하는 예
def get_user_info():
    name = "BlockDMask"
    age = 33
    return name, age

info = get_user_info()
print(info)        # ('BlockDMask', 33)
print(type(info))  # <class 'tuple'>

설명: 함수에서 여러 값을 반환할 때 튜플로 묶어서 반환하는 경우가 많습니다.
이 경우 변경할 필요가 없는 값들이므로 튜플을 사용하는 것이 적절합니다.

 

6. 요약 정리

구분 리스트 (List) 튜플 (Tuple)
표기 [] 대괄호 () 소괄호
변경 가능 가능 (mutable) 불가능 (immutable)
메모리 사용 더 큼 더 작음
속도 조금 느림 조금 빠름
메서드 append, remove 등 다양 거의 없음

 

이상, 파이썬 리스트와 튜플 차이에 대해서 적어보았습니다.
오늘도 읽어주셔서 감사합니다.

함께 읽으면 좋을 글
2020.11.25 - [<개인공부>/[Python]] - [python] 파이썬 튜플(tuple)에 대해서

2020.09.04 - [<개인공부>/[Python]] - [python] 파이썬 리스트(list) 정리 및 예제 (1탄 기본편)

2020.10.21 - [<개인공부>/[Python]] - [python] 파이썬 리스트(list) 정리 및 예제 (2탄 응용편)