상세 컨텐츠

본문 제목

파이썬 기초 2. Data Structure

기초/파이썬

by 2^7 2024. 9. 2. 20:25

본문

Data Structure

데이터를 효율적으로 저장하고 관리하기 위한 다양한 자료형을 제공

데이터 구조(Data Structure)는 데이터의 조직화, 저장, 검색 및 조작을 용이하게 하며, 파이썬에서는 여러 기본 및 내장 데이터 구조가 존재

1. 리스트(List)

순서가 있는 변경 가능한 시퀀스 데이터 타입

다양한 데이터 타입의 항목을 포함할 수 있음

  • 0부터 시작하는 인덱스를 통해 접근할 수 있으며, 슬라이싱을 통해 부분 리스트를 추출할 수 있음.
  • 리스트의 요소는 직접 수정, 삭제, 추가가 가능
  • 리스트 안에 리스트를 포함하여 2차원 이상의 구조를 만들 수 있음.
  • 대괄호([ ])으로 감싸서 표현
my_list = [1, 2, 3, 'apple', [4, 5]]
my_list[2] = 10  # 리스트 요소 변경
print(my_list[3:])  # 슬라이싱

 

2. 튜플(Tuple)

순서가 있는 변경 불가능한 시퀀스 데이터 타입

  • 튜플의 요소는 한 번 설정되면 변경할 수 없음
  • 리스트보다 메모리 효율적이며, 접근 속도가 빠름
  • 변경될 필요가 없는 데이터를 저장할 때 유용
  • 소괄호( ( ) )으로 감싸서 표현
my_tuple = (1, 2, 3, 'banana')
print(my_tuple[1])  # 인덱싱

3. 세트(set)

고유한 요소를 갖는 비순서형 컬렉션

  • 중복된 요소를 자동으로 제거
  • 교집합, 합집합, 차집합 등의 수학적 집합 연산을 지원
  • 요소를 추가하거나 제거할 수 있음
  • 중괄호 ( { }) 으로 감싸서 표현
my_set = {1, 2, 3, 4}
my_set.add(5)  # 요소 추가
print(my_set.intersection({3, 4, 5}))  # 교집합

4.딕셔너리

키-값(key-value) 쌍으로 이루어진 변경 가능한 데이터 타입

  • 키(key)는 고유해야 하며, 각 키는 하나의 값(value)에 매핑됩니다.
  • 해시 테이블을 기반으로 하여, 특정 키에 대한 값을 매우 빠르게 검색할 수 있음
  • 값을 추가, 수정, 삭제할 수 있음
  • 중괄호 ( { }) 으로 감싸서 표현
my_dict = {'name': 'John', 'age': 30}
print(my_dict['name'])  # 키를 사용한 값 접근
my_dict['age'] = 31  # 값 수정

5.문자열

문자들의 시퀀스이며, 변경 불가능한 데이터 타입

  • 문자열의 내용은 변경할 수 없음
  • 리스트와 유사하게 인덱싱과 슬라이싱을 통해 접근할 수 있음
  • 문자열 조작을 위한 다양한 내장 메서드를 제공

 

5-1. 컬렉션 모듈(Collection Module)

  • deque: 양쪽 끝에서 빠르게 요소를 추가하거나 제거할 수 있는 리스트와 유사한 데이터 구조
  • Counter: 해시 가능한 객체의 개수를 세는 데 유용한 클래스
  • defaultdict: 기본값을 지정할 수 있는 딕셔너리
  • OrderedDict: 입력 순서가 유지되는 딕셔너리
728x90

관련글 더보기