반응형
Python에서 리스트(List)와 튜플(Tuple)은 둘 다 여러 값을 저장할 수 있는 시퀀스 자료형이지만, 중요한 차이점이 있습니다. 아래는 리스트와 튜플의 주요 차이점과 각 자료형의 특성에 대한 설명입니다.
1. 리스트(List)
- 정의: 리스트는 대괄호
[]
를 사용하여 정의됩니다.
my_list = [1, 2, 3, 4, 5]
- 변경 가능성(Mutability): 리스트는 변경 가능합니다. 즉, 리스트의 요소를 추가, 수정, 삭제할 수 있습니다.
my_list[0] = 10 # 수정 my_list.append(6) # 요소 추가 del my_list[1] # 요소 삭제
- 메서드: 리스트는 요소를 추가, 제거 및 정렬할 수 있는 다양한 메서드를 제공합니다.
my_list = [3, 1, 4] my_list.append(2) my_list.sort() print(my_list) # 출력: [1, 2, 3, 4]
- 사용 예시: 데이터가 자주 변경되거나, 순서가 바뀌는 경우에 적합합니다.
shopping_list = ["apple", "banana", "carrot"] shopping_list.append("dates")
2. 튜플(Tuple)
- 정의: 튜플은 소괄호
()
를 사용하여 정의됩니다.
my_tuple = (1, 2, 3, 4, 5)
- 불변성(Immutability): 튜플은 불변입니다. 즉, 튜플이 생성된 후에는 요소를 변경할 수 없습니다.
# my_tuple[0] = 10 # 오류 발생: TypeError: 'tuple' object does not support item assignment
- 메서드: 튜플은 변경할 수 없기 때문에 리스트에 비해 제공되는 메서드가 적습니다. 기본적으로 제공되는 메서드는
count()
와index()
입니다.
my_tuple = (1, 2, 3, 2) print(my_tuple.count(2)) # 출력: 2 print(my_tuple.index(3)) # 출력: 2
- 사용 예시: 데이터가 변경되지 않아야 하는 경우에 적합합니다. 예를 들어, 함수의 반환 값으로 여러 값을 반환할 때 튜플을 사용합니다.
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)
이와 같이 리스트와 튜플은 사용 용도와 특성에 따라 선택하여 사용해야 합니다. 리스트는 데이터가 자주 변경될 때, 튜플은 데이터가 한 번 정해지면 변경되지 않아야 할 때 사용하면 적합합니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] 세트 사용하기 (0) | 2024.06.03 |
---|---|
[ Python ] 딕셔너리 사용하기 (0) | 2024.06.03 |
[ Python ] Tuple(튜플) 사용하기 (0) | 2024.06.03 |
[ Python ] for문 사용하기 (1) | 2024.06.03 |
[ Python ] 리스트 사용하기 (0) | 2024.06.03 |