프로그래밍 언어/파이썬

List와 Tuple의 차이

hyeseong-dev 2024. 3. 20. 13:50

개요

  • 리스트와 튜플은 파이썬에서 가장 기본적인 데이터 구조 중 2가지
  • 여러 값을 하나의 변수에 저장 할 수 있게함.

특징

1. 변경 가능성

  • 리스트
    • 변경 가능한 객체
    • 리스트 생성 후 내용을 변경 할 수 있음(추가, 삭제, 변경)
  • 튜플
    • 변경 불가능한 객체
    • 생성 후 내용을 변경 불가

2. 문법적 차이

  • 리스트
    • 대괄호([]) 사용. 예: my_list = [1, 2, 3]
    my_list = [1, 2, 3]
  • 튜플
    • 소괄호(()) 사용. 예: my_tuple = (1, 2, 3)
    • 소괄호 생략 가능하지만, 단일 항목 튜플은 콤마(,) 필요. 예: single_tuple = (4,)
    my_tuple = (1, 2, 3)
    single_tuple = (4,)  # 단일 항목 튜플

3. 사용 용도

  • 리스트

    • 요소 변경이 필요한 경우 사용. 예: 사용자 입력 저장, 데이터 수정
      user_inputs = []  # 사용자 입력을 저장하는 빈 리스트
      while True:
          user_input = input("Enter a value (or 'done' to finish): ")
          if user_input == 'done':
              break
          user_inputs.append(user_input)
      print("User inputs:", user_inputs)
      
  • 튜플

    • 변경되지 않을 데이터 저장에 사용. 예: 함수에서 여러 값 반환, 딕셔너리의 키로 사용
def get_coordinates():
    # 함수에서 두 값을 반환
    return (10.0, 20.0)

x, y = get_coordinates()  # 반환된 값을 두 변수에 각각 할당
print("Coordinates:", x, y)

4. 성능

  • 리스트
    • 변경 가능성 때문에 비교적 메모리 사용량이 더 크고 처리 속도가 느릴 수 있음
  • 튜플
    • 변경 불가능성으로 메모리 효율성과 처리 속도에서 더 효율적. 하지만 대부분의 경우 차이는 미미함