본문 바로가기
Programming/Language

[Python] 자료구조(Data Structure)

by 삼SAM 2024. 3. 1.

자료구조(Data Structure)

 

효율적인 데이터 접근 및 관리를 위해 데이터를 특정 구조 형태로 모아놓은 것을 말한다. 다시 말해, 데이터를 어떤 방식으로 저장하고 관리할지를 정의하는 틀이라고 할 수 있다.

 

자료구조를 사용하는 이유

  • 효율적인 데이터 관리
  • 신속한 데이터 접근
  • 메모리 사용 최적화

즉, 알고리즘에 따라 적합한 자료구조를 사용하여 실행 시간이나 메모리 용량을 보다 적게 사용하는 등의 보다 효율적인 연산이 가능하다.

 

 

자료구조의 종류(Type)

저장하고 관리하는 방식에 따라 여러가지 Type으로 분류한다. 파이썬에서 여러가지 자료구조를 지원하며 그 중 기본적이고 많이 사용되는 Type에는 List, Tuple, Dictionary, Set 등이 있다.

 

  • List : 순서가 있는 수정 가능한 데이터의 집합. 
    • 대괄호로 표기.
      • 예시: [데이터1, 데이터2, ... ]
    • 순서 값(index)을 가짐.
    • 원소로 또 다른 컨테이너 자료형 데이터 저장 가능.

 

  • Tuple : 순서가 있는 수정 불가능한 데이터의 집합.
    • 소괄호로 표기.
      • 예시: (데이터 1, 데이터 2, ... )
      • 선언 시 괄호로 값을 묶지 않아도 됨. 자동으로 소괄호로 묶임.
    • 순서 값(index)을 가짐.
    • list형과 비슷하지만 한 번 생성되면 값 변경 불가.
    • 원소로 또 다른 컨테이너 자료형 데이터를 저장 가능.

 

  • Set : 순서가 없는 데이터의 집합.
    • 중괄호로 표기.
      • 예시: {데이터1, 데이터 2, ... }
    • 순서가 없이 집합안에서는 unique한 값을 가짐. (중복값 불허)
      • 순서가 없으므로 index값이 없음.

 

  • Dictionary : Key 값과 Value 값으로 Mapping 되어 있는 순서 없는 데이터의 집합.
    • Type Class 표기 : dict
    • 중괄호로 표기
      • 예시: {key1: value1, key2: value2, ... }
    • 순서가 없이 집합안에서는 unique한 값을 가짐. (중복값 불허)
      • 순서가 없으므로 index값이 없음.

 

위와 같이 여러 값을 넣을 수 있는 컨테이너와 같은 형태를 띈다고 하여 이러한 형태를 컨테이너 자료형이라고도 한다.

 

댓글