List와 Tuple의 차이

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. 성능

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

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

데코레이터란?  (0) 2024.03.20
코루틴이란?  (0) 2024.03.20
FastAPI를 이용한 TDD 개발 - 7  (0) 2024.03.19
FastAPI를 이용한 TDD 개발 - 8  (0) 2024.03.14
FastAPI를 이용한 TDD 개발 - 6  (0) 2024.03.14
'프로그래밍 언어/파이썬' 카테고리의 다른 글
  • 데코레이터란?
  • 코루틴이란?
  • FastAPI를 이용한 TDD 개발 - 7
  • FastAPI를 이용한 TDD 개발 - 8
hyeseong-dev
hyeseong-dev
안녕하세요. 백엔드 개발자 이혜성입니다.
  • hyeseong-dev
    어제 오늘 그리고 내일
    hyeseong-dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (284)
      • 여러가지 (108)
        • 알고리즘 & 자료구조 (72)
        • 오류 (4)
        • 이것저것 (29)
        • 일기 (2)
      • 프레임워크 (39)
        • 자바 스프링 (39)
        • React Native (0)
      • 프로그래밍 언어 (38)
        • 파이썬 (30)
        • 자바 (3)
        • 스프링부트 (5)
      • 운영체제 (0)
      • DB (17)
        • SQL (0)
        • Redis (17)
      • 클라우드 컴퓨팅 (2)
        • 도커 (2)
        • AWS (0)
      • 스케쥴 (65)
        • 세미나 (0)
        • 수료 (0)
        • 스터디 (24)
        • 시험 (41)
      • 트러블슈팅 (1)
      • 자격증 (0)
        • 정보처리기사 (0)
      • 재태크 (5)
        • 암호화폐 (5)
        • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바
    RDS
    SAA
    Spring Boot
    celery
    시험
    java
    Redis
    EC2
    ecs
    AWS
    WebFlux
    Docker-compose
    완전탐색
    파이썬
    docker
    reactor
    DP
    프로그래머스
    #개발자포트폴리오 #개발자이력서 #개발자취업 #개발자취준 #코딩테스트 #항해99 #취리코 #취업리부트코스
    백준
    OOP
    그리디
    mybatis
    Python
    취업리부트
    Spring WebFlux
    항해99
    spring
    FastAPI
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hyeseong-dev
List와 Tuple의 차이
상단으로

티스토리툴바