Python - 자료구조

sdubee10·2021년 10월 17일
0

Python

목록 보기
6/7

여러 개의 데이터가 묶여 있는 자료형을 컨테이너 자료형이라고 하고, 이러한 컨테이너 자료형의 데이터 구조를 자료구조라고 한다.

  • List : 변경 가능
  • Tuple: 변경 불가능
  • Dic: Key, Value로 구성
  • Set: 중복된 데이터가 허용되지 않음

List

배열과 같이 여러 개의 데이터를 나열한 자료구조

사용방법:

  • [ ]를 이용해서 선언하고, 데이터 구분은 ','을 이용한다.

규칙:

  • 숫자, 문자(열), 논리형 등 모든 기본 데이터를 같이 저장할 수 있다.
  • 리스트에 또 다른 컨테이너 자료형 데이터를 저장할 수도 있다.

인덱스 (아이템에 자동으로 부여되는 번호표)

  • 리스트 아이템은 인덱스를 이용해서 조회 가능하다.

출력결과:

편리한 함수 :

  • len() : 리스트의 크기 반환

리스트 값 참조 방법:

  • for문 사용
    num = [1, 2, 3, 4, 5]
    for i in range(len(num)):
    	print(num[i])
    
    #------ 출력---
    1
    2
    3
    4
    5
    
  • while문 사용
    num = [1, 2, 3, 4 , 5]
    n = 0
    while(n < len(num)):
    	print(num[n])
    	n += 1
    
    #------ 출력---
    1
    2
    3
    4
    5

List 관련 함수:

Enumerate()

  • enumerate()함수를 이용하면 아이템을 열거할 수 있다.

append()

  • 마지막 인덱스에 아이템을 추가할 수 있다.

insert()

  • 특정 위치(인덱스)에 아이템을 추가할 수 있다.

pop()

  • 마지막 인덱스에 해당하는 아이템을 삭제할 수 있다.

remove()

  • 인덱스로 아이템 삭제가 아닌, 해당 아이템이름으로 삭제할 수 있다.

extend()

  • 리스트에 또 다른 리스트를 연결할 수 있다.

sort()

  • 리스트의 아이템을 정렬할 수 있다.

reverse()

  • 리스트의 순서를 뒤집을 수 있다.

count()

  • 리스트안에 특정 아이템이 몇개 있는지 알 수 있다.

튜플(Tuple)

리스트와 비슷하지만 아이템 변경이 불가능하다.

사용방법:

  • '( )'을 이용해서 선언하고, 데이터 구분은 ' , '을 이용한다.
  • 리스트와 마찬가지로 아이템에 자동으로 부여되는 번호표가 있기 때문에, 인덱스를 활용해서 조회할 수 있다.

규칙:

  • 숫자, 문자(열), 논리형 등 모든 기본 데이터를 같이 저장할 수 있다.
  • 튜플에 또 다른 컨테이너 자료형 데이터를 저장할 수도 있다.

편리한 함수 :

  • len() : 튜플에 저장된 아이템 개수를 반환한다.
  • '+' : 2개 이상의 튜플을 결합할 수 있다.
  • slice(): [n:m]슬라이싱 방법과 유사하다.

List vs. Tuple

  • 튜플은 리스트와 달리 아이템 추가, 변경, 삭제가 불가하다.
  • 튜플은 선언시 괄호 생략이 가능하다.
  • 리스트는 선언시 대괄호를 사용해야 한다.

  • 리스트와 튜플은 자료형 변환이 가능하다.

    - 만약 튜플을 정렬하고 싶으면, List로 변환 후 sort()함수를 이용하여 정렬을 하고, 그 후에 다시 tuple로 변경해주면 된다.

딕셔너리(Dictionary)

키(key)와 값(value)를 이용해서 자료를 관리한다.

사용법:

  • '{ }' 중괄호를 이용해서 선언하고 '키 : 값'의 형태로 아이템을 정의한다

규칙:

  • key와 value에는 숫자, 문자(열), 논리형 뿐만 아니라컨테이너 자료형도 올수 있다.
  • 단, key에 immutable 값은 올 수 있지만, mutable 값은 올 수 없다.
  • 딕셔너리 key를 이용해서 value를 조회할 수 있다.

편리한 함수:

  • get(): key 값을 입력하여 value를 조회할 수 있다.
  • 딕셔너리이름['추가할 키'] = '추가할 키에 해당한 value' 식으로 값을 추가/수정 할 수 있다.
  • keys() : 키 값들을 출력할 수 있다.
  • values(): 밸류 값들을 출력할 수 있다.
  • del key : 딕셔너리의 key를 삭제할 수 있다.
  • pop(key) : 딕셔너리의 해당 key 값을 삭제할 수 있다.
  • len() : 딕셔너리의 총 길이를 반환해준다.

0개의 댓글