자료구조 정리

자료 구조  :  특징이 있는 정보를 효율적으로 저장 및 반환하는 작업

파이썬의 자료구조 : 리스트/스택/큐/튜플/세트/딕셔너리/collections 모듈 등이 있음

데이터 엔지니어링, 사이언스 분야에서는 심도 깊은 이해가 필요한 분야

 

스택(stack)

 - LIFO ->Last In First Out : 마지막에 들어간 데이터가 가장 먼저 나오는 형태

 - append(item) : 맨 끝에 항목 저장

 - pop(index) : 인덱스를 인자로 데이터 추출(삭제) / default는 맨 마지막 항목 추출

 

 * "_" 기호 : 해당 반복문에서 생성되는 값은 코드에 사용 하지 않음 -> 매개변수의 의미 없음

 

큐(que)

 - FIFO : 먼저 들어간 데이터가 가장 먼저 나오는 형태

 - 스택과 반대

 

튜플(tuple)

 - 값 변경이 불가능한 리스트(list)

 - 선언 : 괄호 사용 t = (1,2,3) / ※ 값이 하나인 튜플 선언 : t= (1,) 

 - 리스트와 기본 개념은 동일하나 값을 변경할 수 없는 형태

 - 변경되지 않아야 하는 정보를 저장할 때 사용

 

세트(set)

 - 값을 순서없이 저장하면서 중복을 불허하는 자료형 -> 집합 개념

 - 튜플과 달리 삭제, 변경 모두 가능

 - add() : 세트에 데이터 하나 추가

 - update([1,2,3..]) : 세트에 리스트로 데이터 추가

 - discard() : 세트의 데이터 하나 삭제

 - remove() : 세트에 데터 하나 삭제

 - clear() : 세트의 모든 데이터 삭제 

 - 집합 연산 

   ※ 합집합 :  union() / "|" , 교집합 : intersection() /"&", 차집합 : difference/ "-"

 - 텍스트 분석 시, 중복 값을 제거하고 유일한 단어 갯수 등을 셀 때 ex) 리스트 -> 세트 : 중복제거 -> 리스트

 

딕셔너리(dictionary)

 - 데이터의 유일한 구분자를 키(key)라는 이름으로 검색할 수 있음

 - 실제 데이터를 값(value)이라는 이름으로 키와 쌍으로 저장, 데이터를 쉽게 찾을 수 있음

 - 선언 : 딕셔너리 변수 = {key1 : value1, key2: value2, ... } -> 중괄호 사용 및 세미콜론 구분

   ※ key는 문자열, 숫자형 선언 가능 / value는 다양한 자료형 가능

 - 딕셔너리에 데이터 추가 : df[New_key] = New_Value

 - keys() : 전체 key값 확인

 - values() : 전체 value값 확인

 - items() : key ,value 쌍을 확인 

in, not in 을 이용한 key, value 탐색

※  key, value 를 넣은 for문