자료 구조(data structure)

손희진·2024년 2월 13일

파이썬

목록 보기
3/3

파이썬에서 자료구조는 컴퓨터 안에서 데이터를 어떻게 보관하고 다루는지에 대한 방법을 말한다.
마치 서류를 정리하는 서랍장과 같다.
서류를 어떻게 배치하고 찾아야 하는지 결정하는 것처럼
자료구조는 데이터를 어떻게 저장하고 사용할지 정하는 규칙을 제공한다.
파이썬에는 주로 사용되는 몇 가지 기본 자료구조가 있다.

리스트(list)

파이썬의 리스트는 데이터의 순서가 있는 컬렉션. 리스트는 변경가능(mutable)하므로 요소를 추가하거나 삭제 가능

리스트의 기본

  • 리스트 생성 : list = [1,2,3]
  • 빈 리스트 생성 : empty_list = []

세트(set)

중복을 허용하지 않는, 순서가 없는, (수학) 집합과 유사한 개념
중복을 제거하거나 여러 세트 간 관계(교집합, 합집합) 다룰 때 유용

세트의 기본

  • 세트의 생성: set = { }
  • 빈 세트 생성: empty_set = set()
  • 리스트나 듀플 등에서 세트 생성 : set = set([1,2,3]) (결과 {1,2,3})

세트의 주요 메소드

  1. 추가
  • add
  • update : 예) set.update({5,6}) set에 5와 6 추가
  1. 제거
  • discard : 세트에 없는 요소여도 오류 발생하지 않음 예) set.discard(3)
  • clear : 모든 요소 제거
  1. 세트 기능
  • union 합집합
  • intersection 교집합
  • difference 차집합(초승달모양)
  • symmetric_difference 대칭 차집합(초승달 두개)

딕셔너리(dictionary)

사전은 key와 value의 쌍으로 이루어진 자료구조. 사전은 키를 통해 빠르게 값을 찾을 수 있고 키는 각각 고유해야 함.

사전의 기본

  • 사전 생성 : dict = {'name':'alice', 'age',:'24'}
  • 빈 사전 생성 : dict = {}

print(dict.get('a','b')) : 'a가 없으면 b를 출력해줘'

dict = {'name':'Bob', 'age':'30', 'job':'developer'}
print(list(dict.items())) -> [('name','Bob'), ('age','30'), ('job','developer')]

!!!list를 꼭 써줘야 함!!!

튜플(tuple)

튜플은 변경불가(immutable), 요소 변경이나 추가 불가

튜플의 기본

  • 튜플 생성 : tuple = (1,2,3,"hello")
  • 빈 튜플 생성 : empty_tuple = ()
    print(length) -> 4

0개의 댓글