실버를 위한 코딩/파이썬 연습

[파이썬 연습] 튜플과 리스트

forSilver 2024. 11. 26. 04:11
반응형

튜플(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)