Reviews -
List
List 특징
List slicing
깊은 복사와 얕은 복사
- 깊은 복사 : 새로운 메모리 영역에 복사
- [:] : 이중리스트 이상부터는 다른 결과를 보임. 서브리스트까지 완벽하게 다른 메모리 복사를 위해서는 deep copy() 를 이용해야함.
- deepcopy()
List 연산
Dictionary
- 파이썬에서 가장 강력한 데이터 컬렉션
- 파이썬에서 빠르게 데이터 베이스 같은 연사산을 가능하게 함.
- 다른 언어에서는 다른 이름으로 불림.
특징
- {} : 중괄호 <-> [] : 리스트
- Key : Value 의 쌍으로 이루어짐.
- 변환되는 값은 key 로 사용 불가 (ex: list)
- Key 를 통해 Value를 얻는다
- {Key1:Value1, Key2:Value2, ...}
dic = {'name':'손동운','phone':'01012345678','birth':'0616'}
- 글쓴이 최애 아이돌이 하이라이트 손동운....
- 키 값이 반드시 문자열일 필요는 없으며, 변경 불간으한 데이터만 키가 될 수 있다.
- immutable 데이터인 문자열, 튜플, 숫자값은 키가 될 수 있으나, 리스트는 키가 될 수 없다.
- 사전변수명[키])ex:dic['address'] 의 형식으로 찾을 경우 찾는 키가 없으면 예외를 발생한다.
- get 함수는 키가 없을때 예외를 발생하는 대신 None을 리턴한다.
Dictionary 관련 함수
- min() : 키 값 중 최솟값 (사전적 순서) ex : a > b
- max() : 키 값 중 최대값
- get(키 [,값]) : 특정 키를 통해 값을 얻음. 해당 키가 없으면 디폴트로 대체
- keys() : dictionary 안에 있는 키 값을 리스트로 얻어옴.
- values() : dictionary 가 갖고 있는 벨류 값을 리스트로 얻어옴.
- items() : 키와 벨류의 쌍을 튜플로 동시에 얻어옴.
- sorted(iterable, *,
key=None,reverse=False) : 내장함수, 딕셔너리의 키를 오름차순 정렬
Tuple
Tuple 의 특징
- list 와 기본적으로 동일.
- (), tuple() 함수를 이용해 선언.
- immutable 데이터다. : 값을 변경할 수 없음.
<-> list : iterable 객체 , 값의 생성 삭제 수정이 가능.
- tuple의 항목값은 변화가 불가능.
- 내부 구조가 단순하고 읽는 속도가 빠름. 가볍고, 빠르고 , 안전하니까 사용.
Set(집합)
- {} 선언 s = {}, set() 함수
- 중복을 허용하지 않는다. (set을 이용하는 주된 이유)
- 순서가 없다 (Unordered)
- 인덱싱으로 값을 얻을 수가 없다. 순서개념이 없으므로. 리스트나 튜플로 변경 후 값 추출하는 방법이 있음.
- 중복을 제거하기 위해 사용.
- 교집합(&) 차집합, 합집합 연산 사용 가능.
Set 관련 함수
- add() : 요소 추가
- update() : 요소 수정
- remove() : 요소 제거
- intesection() : 교집합
- difference() : 차집합
- union() : 합집합
- symmetric_difference : 배타적 차집합(^)
Comprehension
Comprehension이란?
- 하나 이상의 iterator(열거가능한객체)로부터 python의 자료구조를 만드는 방법.
List comprehension
[표현식 for 항목 in 순회 가능한 객체]
[표현식 for 항목 in 순회 가능한 객체 if 조건]
dictionary comprehension
{키 표현식 : 값표현식 for 표현식 in 순회가능한 객체}
set comprehension
{표현식 for 표현식 in 순회가능한 객체}