Python/Python

Python 자료구조 알아보기: 리스트, 튜플, 딕셔너리, 집합(Set)의 차이점

임베디드 친구 2025. 6. 28. 21:17
728x90
반응형

Python 자료구조 알아보기: 리스트, 튜플, 딕셔너리, 집합(Set)의 차이점

안녕하세요, 우리는 Python에서 자주 사용되는 네 가지 자료 구조인 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary), 집합(Set)에 대해 알아보았습니다. 각각의 자료 구조는 고유한 특성과 장점을 가지고 있어 다양한 상황에 따라 적절하게 사용될 수 있습니다. 이 포스트에서는 각 자료 구조의 특징과 차이점을 명확하게 이해해 보세요!

1. 리스트 (List)

리스트(List)는 데이터를 순서대로 저장하고 변경 가능한 시퀀스입니다. 다음은 리스트의 주요 특징입니다.

  • 정의: 데이터의 순서가 있는 변경 가능한 시퀀스입니다.
  • 특징:
    • 요소 간 순서가 유지됩니다.
    • 요소를 추가, 삭제, 수정할 수 있습니다.
    • 중복 요소를 허용합니다.
    • 대괄호 []로 표현됩니다.

리스트는 데이터의 추가와 수정이 빈번한 경우에 유용합니다.

  • 예제:
    my_list = [1, 2, 3, 4]
    my_list.append(5)  # 요소 추가
    my_list[1] = 10    # 요소 수정
    print(my_list)  # [1, 10, 3, 4, 5]

2. 튜플 (Tuple)

튜플(Tuple)변경할 수 없는 순서 있는 시퀀스입니다. 불변성이 보장되어 데이터를 안전하게 유지할 때 적합합니다.

  • 정의: 데이터의 순서가 있는 변경 불가능한 시퀀스입니다.
  • 특징:
    • 리스트와 유사하지만 수정이 불가능합니다.
    • 요소 간 순서가 유지됩니다.
    • 중복 요소를 허용합니다.
    • 소괄호 ()로 표현됩니다.

데이터를 변경하지 않고 안전하게 보관해야 하는 경우 튜플을 사용하는 것이 좋습니다.

  • 예제:
    my_tuple = (1, 2, 3, 4)
    # my_tuple[1] = 10  # 오류 발생 (튜플은 수정 불가)
    print(my_tuple)  # (1, 2, 3, 4)

3. 딕셔너리 (Dictionary)

딕셔너리(Dictionary)키-값 (Key-Value) 쌍으로 데이터를 저장하는 자료구조로, 특정 키를 통해 값을 빠르게 조회할 수 있습니다.

  • 정의: 키-값 (Key-Value) 쌍으로 데이터를 저장하는 자료구조입니다.
  • 특징:
    • 요소 간 순서가 유지됩니다 (Python 3.7 이상).
    • 키는 유일해야 하며, 값은 중복 가능합니다.
    • 키는 수정 불가능한 객체(문자열, 숫자, 튜플 등)만 사용할 수 있습니다.
    • 값은 추가, 삭제, 수정이 가능합니다.
    • 중괄호 {}로 표현됩니다.

딕셔너리는 데이터에 빠르게 접근하고자 할 때 매우 유용합니다.

  • 예제:
    my_dict = {'name': 'Alice', 'age': 25}
    my_dict['age'] = 26  # 값 수정 가능
    my_dict['city'] = 'Seoul'  # 새로운 키-값 추가 가능
    print(my_dict)  # {'name': 'Alice', 'age': 26, 'city': 'Seoul'}

4. 집합 (Set)

집합(Set)고유한 요소만을 저장하며, 요소 간의 순서가 없는 자료구조입니다. 중복을 제거하고자 할 때 유용합니다.

  • 정의: 순서가 없는 고유한 데이터의 모음입니다.
  • 특징:
    • 요소 간 순서가 없습니다 (순서가 중요하지 않을 때 사용).
    • 중복 요소를 허용하지 않습니다.
    • 변경 가능하며, 요소를 추가, 삭제할 수 있습니다.
    • 중괄호 {}로 표현되지만, 딕셔너리와 구분됩니다 (키-값이 없음).
    • 집합 연산(합집합, 교집합 등)을 지원합니다.

집합은 데이터의 중복을 제거하고, 집합 연산을 수행할 때 유용합니다.

  • 예제:
    my_set = {1, 2, 3, 4}
    my_set.add(5)  # 요소 추가
    my_set.add(3)  # 중복 요소는 무시
    print(my_set)  # {1, 2, 3, 4, 5}

주요 차이점 비교

특징 리스트 (List) 튜플 (Tuple) 딕셔너리 (Dictionary) 집합 (Set)
데이터 저장 구조 순서 있는 요소의 모음 순서 있는 요소의 모음 키-값 쌍의 모음 순서 없는 고유 요소의 모음
변경 가능 여부 변경 가능 변경 불가능 값 변경 가능 변경 가능
순서 유지 여부 유지됨 유지됨 유지됨 (Python 3.7 이상) 유지되지 않음
중복 허용 여부 허용 허용 키: 허용 안 됨 / 값: 허용 허용 안 됨
표현 방식 [ ] ( ) {키: 값} { }
사용 사례 순서대로 데이터 처리 불변 데이터를 안전하게 저장 키로 데이터에 빠르게 접근 중복 제거, 집합 연산 수행

이 네 가지 자료구조를 적절히 활용하면 데이터 처리 및 관리의 효율성을 크게 높일 수 있습니다. 여러분의 Python 개발에 도움이 되길 바랍니다!

감사합니다!

728x90
반응형