build my life

[Python] 컬렉션 자료형(Collection data type) : list, set, dict, tuple 본문

Python

[Python] 컬렉션 자료형(Collection data type) : list, set, dict, tuple

dalovee 2022. 8. 2. 18:24
728x90

1. 컬렉션 자료형(Collection data type)이란?

  • 여러 가지 요소를 하나로 묶어서 담을 수 있는 데이터 타입
  • 문법적인 요소들을 제외하고 다 담을 수 있음
  • 객체, 변수, 함수, 클래스 ...
  • list, set, dict, tuple

 

2. 자료형의 특징

  • sequence 자료형
    - 열거, 연속, 순서, 순번(index)
  • mutable 자료형
    - 수정 가능한 객체(값)
    - 컬렉션 자료형 : list, set, dict
  • immutable 자료형
    - 수정 불가능한 객체
    - int, float, str, bool, tuple

첫 번째, list에 대해서 알아보자!

❓list는...

  • sequence 자료형 - len(), sorted() 가능
  • mutable 자료형
  • 중복 데이터 저장 가능!
  • [ ]를 이용해서 생성함!
lst = []

 

Sequence 자료형에 대해서 ...

  • 순번(index)이 있다.
  • Python index에는 두 종류가 있다.
    • 양수 인덱스
      • 0부터 시작한다.
      • 왼쪽에서 오른쪽으로 1씩 증가
    • 음수 인덱스
      • -1부터 시작한다.
      • 오른쪽에서 왼쪽으로 1씩 감소
      lst = [3,3,4,5,6,8,'yoon', None, 7.5, True]
      lst[3] # output : 5
      lst[-1] # output : True
  1. index는 무조건 정수!!

 

두 번째, tuple에 대해서 알아보자!

  • Sequence 자료형
  • immutable 자료형(수정 x)
  • 중복데이터 저장이 가능
  • ()를 활용해서 만들 수 있다. (소괄호 생략가능)
tuples = "h","e","l","l","o"
tuples # output : ('h', 'e', 'l', 'l', 'o')
  • 프로그램이 실행되는 동안 안에 있는 _요소들이 변경이 일어나면 안되는 경우_에 사용
  • 리스트에 비해 메모리를 적게 차지
  • 슬라이싱, 인덱싱 속도가 빠르다

 

세 번째, set에 대해서 알아보자!

  • Non-Sequence 자료형
  • 데이터의 저장의 순서를 보장하지 않는다.
  • 인덱싱과 슬라이싱 지원하지 않는다.
  • mutable 자료형
  • 중요한 특징으로 중복 데이터를 저장할 수 없다.
  • {} 중괄호를 사용해서 생성
sets = {100, 101,102,103,104,105,106,107,108,101} #중복데이터는 사라짐
sets # output : {100, 101, 102, 103, 104, 105, 106, 107, 108}
  • 비어 있는 set을 만들 경우 : set() 함수 이용
  • in / not in 가능
  • 산술 연산 X X

 

네 번째, dict 자료형에 대해서 알아보자!

  • Non-Sequence 자료형
  • mutable 자료형
  • key-value 구조
  • key 중복 X, value 중복 O
{
key : value(list, set, dic, tuple, 기본자료형, ...),
key : value, ...
}

# dict의 값을 가져 올 때는 key 값을 활용!
dict[key] # 결과 : value / 없는 key 값을 넣으면 keyerror 발생
dict.get(key)
dict.get(key, default) # key가 없을 경우 default를 반환

 

  • dict 요소 삽입
#1 key가 없을 경우 추가 있을 경우 값 변경
dict[key] = value

#2 한번에 변경 및 추가 가능
dict = {key:value , key:value}
  • dict 요소 제거
del dict[key]
  • dict key에 대한 value 반환 후 삭제
dict.pop(key) # 결과 : value 반환 후 삭제
  • dict key, value list 확인
# dict에 있는 key 확인
dict.keys()

# dict에 있는 value 확인
dict.values()

# dict 내의 전체 key, value 확인
dict.items()

컬렉션 자료형에 대해서 배운 날! list에 대해서는 알고 있었지만 set, dict 자료형에 대해서는 제대로 배운 것이 처음이었다. 그래서 조금은 생소했고 dict 자료형을 배우면서 사전 데이터들은 이렇게 저장이 되어있나? 라고 생각하며

데이터가 저장되어 있는 형식에 대해서 생각하게 되는 시간이었다.

728x90