본문 바로가기

언어/Python

[ 파이썬 / Python ] 리스트와 튜플의 차이

반응형

Python에서 리스트(List)와 튜플(Tuple)은 둘 다 여러 값을 저장할 수 있는 시퀀스 자료형이지만, 중요한 차이점이 있습니다. 아래는 리스트와 튜플의 주요 차이점과 각 자료형의 특성에 대한 설명입니다.

1. 리스트(List)

  1. 정의: 리스트는 대괄호 []를 사용하여 정의됩니다.
my_list = [1, 2, 3, 4, 5]
  1. 변경 가능성(Mutability): 리스트는 변경 가능합니다. 즉, 리스트의 요소를 추가, 수정, 삭제할 수 있습니다.
my_list[0] = 10 # 수정 my_list.append(6) # 요소 추가 del my_list[1] # 요소 삭제
  1. 메서드: 리스트는 요소를 추가, 제거 및 정렬할 수 있는 다양한 메서드를 제공합니다.
my_list = [3, 1, 4] my_list.append(2) my_list.sort() print(my_list) # 출력: [1, 2, 3, 4]
  1. 사용 예시: 데이터가 자주 변경되거나, 순서가 바뀌는 경우에 적합합니다.
shopping_list = ["apple", "banana", "carrot"] shopping_list.append("dates")

2. 튜플(Tuple)

  1. 정의: 튜플은 소괄호 ()를 사용하여 정의됩니다.
my_tuple = (1, 2, 3, 4, 5)
  1. 불변성(Immutability): 튜플은 불변입니다. 즉, 튜플이 생성된 후에는 요소를 변경할 수 없습니다.
# my_tuple[0] = 10 # 오류 발생: TypeError: 'tuple' object does not support item assignment
  1. 메서드: 튜플은 변경할 수 없기 때문에 리스트에 비해 제공되는 메서드가 적습니다. 기본적으로 제공되는 메서드는 count()index()입니다.
my_tuple = (1, 2, 3, 2) print(my_tuple.count(2)) # 출력: 2 print(my_tuple.index(3)) # 출력: 2
  1. 사용 예시: 데이터가 변경되지 않아야 하는 경우에 적합합니다. 예를 들어, 함수의 반환 값으로 여러 값을 반환할 때 튜플을 사용합니다.
dimensions = (1920, 1080)

4. 비교 요약

특성 리스트(List) 튜플(Tuple)
정의 [] ()
변경 가능성 변경 가능 (mutable) 변경 불가능 (immutable)
주요 메서드 append(), remove(), sort() count(), index()
사용 예시 자주 변경되는 데이터 변경되지 않는 데이터
성능 일반적으로 느림 일반적으로 빠름

 

5. 예제 비교

1. 리스트 예제

# 리스트는 요소를 변경할 수 있습니다.
my_list = [1, 2, 3]
my_list.append(4)
print(my_list)  # 출력: [1, 2, 3, 4]
my_list[0] = 0
print(my_list)  # 출력: [0, 2, 3, 4]

2. 튜플 예제

# 튜플은 요소를 변경할 수 없습니다.
my_tuple = (1, 2, 3)
# my_tuple.append(4)  # 오류 발생: AttributeError: 'tuple' object has no attribute 'append'
# my_tuple[0] = 0  # 오류 발생: TypeError: 'tuple' object does not support item assignment
print(my_tuple)  # 출력: (1, 2, 3)

이와 같이 리스트와 튜플은 사용 용도와 특성에 따라 선택하여 사용해야 합니다. 리스트는 데이터가 자주 변경될 때, 튜플은 데이터가 한 번 정해지면 변경되지 않아야 할 때 사용하면 적합합니다.

 

반응형