본문 바로가기

Programming/python

python 리스트와 튜플에 대한 차이점을 알아보자 (List vs Tuple)

리스트와 튜플은 둘 다 파이썬에서 여러 개의 항목을 저장하는 데 사용되는 컨테이너 데이터 타입입니다. 하지만 리스트와 튜플에는 몇 가지 중요한 차이점이 있습니다.

차이점


1. 가변성 (Mutability)
   - 리스트(List): 

     리스트는 가변적(mutable)입니다. 즉, 리스트의 요소를 추가, 삭제, 수정할 수 있습니다.
   - 튜플(Tuple): 

      튜플은 불변적(immutable)입니다. 생성한 후에는 요소를 변경할 수 없습니다.

      따라서 튜플의 요소를 추가, 삭제, 수정하는 것은 불가능합니다.

2. 표기법
   - 리스트(List): 

     대괄호([])를 사용하여 리스트를 생성합니다.
   - 튜플(Tuple): 

      소괄호(())를 사용하여 튜플을 생성합니다. 단, 튜플을 생성할 때 괄호를 생략해도 됩니다.

예제를 통해 살펴보겠습니다:

 

ex 1)

# 리스트 예제
fruits_list = ['apple', 'banana', 'orange', 'grape']
print(fruits_list)

# 리스트의 요소 추가
fruits_list.append('melon')
print(fruits_list)

# 리스트의 요소 수정
fruits_list[0] = 'pear'
print(fruits_list)

# 리스트의 요소 삭제
del fruits_list[2]
print(fruits_list)



출력 결과:

['apple', 'banana', 'orange', 'grape']
['apple', 'banana', 'orange', 'grape', 'melon']
['pear', 'banana', 'orange', 'grape', 'melon']
['pear', 'banana', 'grape', 'melon']

 

ex 2)

# 튜플 예제
fruits_tuple = ('apple', 'banana', 'orange', 'grape')
print(fruits_tuple)

# 튜플은 불변이므로 요소를 추가, 수정, 삭제할 수 없음
# fruits_tuple.append('melon')   # Error: 'tuple' object has no attribute 'append'
# fruits_tuple[0] = 'pear'      # Error: 'tuple' object does not support item assignment
# del fruits_tuple[2]           # Error: 'tuple' object doesn't support item deletion


출력 결과:

('apple', 'banana', 'orange', 'grape')


위의 예제에서 리스트는 가변적이므로 요소를 추가, 수정, 삭제할 수 있지만, 튜플은 불변적이므로 요소를 변경하는 것이 불가능합니다. 따라서 데이터를 변경해야 할 경우 리스트를, 변경하지 않을 경우 튜플을 사용하는 것이 좋습니다.

반응형