반응형
튜플(Tuple)과 리스트(List)의 비교
튜플과 리스트는 파이썬에서 데이터를 순서대로 저장할 수 있는 시퀀스 자료형입니다. 하지만 두 자료형은 특징, 사용 목적, 그리고 동작 방식에서 차이가 있습니다.
튜플(Tuple)
- 정의: 변경 불가능한(immutable) 시퀀스 자료형
- 특징:
- 한 번 생성되면 요소를 변경할 수 없음 (추가, 삭제, 수정 불가)
- 읽기 전용 데이터 구조로, 값이 변경되지 않음을 보장해야 하는 경우에 적합
( )
를 사용해 선언 (괄호를 생략할 수도 있음)
튜플 생성 예시:
# 튜플 생성
t = (1, 2, 3) # 일반적인 튜플
t2 = 4, 5, 6 # 괄호 없이 생성 가능
t3 = (7,) # 하나의 요소를 가진 튜플 (쉼표 필수)
t4 = () # 빈 튜플
리스트(List)
- 정의: 변경 가능한(mutable) 시퀀스 자료형
- 특징:
- 요소를 추가, 삭제, 수정할 수 있음
- 데이터를 동적으로 관리해야 하는 경우 적합
[ ]
를 사용해 선언
리스트 생성 예시:
# 리스트 생성
l = [1, 2, 3] # 일반적인 리스트
l2 = [] # 빈 리스트
l3 = list(range(5)) # 0부터 4까지의 숫자를 가진 리스트
튜플과 리스트의 주요 차이점
특징 | 튜플 (Tuple) | 리스트 (List) |
---|---|---|
변경 가능 여부 | 변경 불가능 (Immutable) | 변경 가능 (Mutable) |
선언 방법 | ( ) 또는 쉼표 |
[ ] |
메모리 사용 | 메모리 효율이 높음 | 메모리 효율이 상대적으로 낮음 |
속도 | 더 빠름 | 더 느림 (요소 변경 기능 포함) |
사용 용도 | 변경이 필요 없는 데이터 저장 | 동적으로 데이터 변경이 필요한 경우 |
메서드 지원 | 제한적 (e.g., count, index) | 풍부함 (e.g., append, pop, sort) |
튜플과 리스트 활용 예시
튜플 사용 예시: 변경이 필요 없는 데이터
# 좌표 데이터를 저장할 때
coordinate = (10, 20)
# 고정된 설정값 저장
config = ('read-only', 'admin', 'user')
리스트 사용 예시: 동적으로 변경 가능한 데이터
# 사용자 입력을 저장하는 경우
user_inputs = []
# 데이터를 추가/수정/삭제해야 할 경우
numbers = [1, 2, 3]
numbers.append(4) # 리스트에 4 추가
numbers[0] = 10 # 첫 번째 요소를 10으로 수정
numbers.pop() # 마지막 요소 제거
튜플과 리스트의 공통점
인덱싱과 슬라이싱 지원
t = (1, 2, 3, 4, 5)
l = [1, 2, 3, 4, 5]
print(t[0]) # 1
print(l[1:4]) # [2, 3, 4]
반복문 사용 가능
for item in t:
print(item)
for item in l:
print(item)
요소 포함 여부 확인 (in
연산자)
print(3 in t) # True
print(6 in l) # False
튜플과 리스트의 변환
- 튜플 → 리스트:
t = (1, 2, 3)
l = list(t) # [1, 2, 3]
- 리스트 → 튜플:
l = [1, 2, 3]
t = tuple(l) # (1, 2, 3)
'실버를 위한 코딩 > 파이썬 연습' 카테고리의 다른 글
[파이썬 연습] 별칭 사용으로 코드 간소화 (2) | 2024.12.08 |
---|---|
[파이썬 연습] 딕셔너리(Dictionary)란? (2) | 2024.11.27 |
[파이썬 연습] 파이썬 문자열 포매팅 (1) | 2024.11.25 |
코랩에서 파일 올리고 압축해제하는 방법 (1) | 2024.11.16 |
[파이썬 연습] 주피터 노트북 단축키 (1) | 2024.10.21 |