파이썬 문법: 수 자료형
- 정수, 실수, 지수표현 방식
- 정수형: 양의 정수, 음의 정수, 0
- 실수형: 변수에 소수점을 붙인 수를 대입하면 실수형 변수로 처리
- 소수부가 0이거나, 정수부가 0인 소수는 0 생략
- 지수표현 방식: 임의의 큰 수를 표현하기 위해 자주 사용
- 컴퓨터 시스템은 수 데이터를 처리할 때 진수를 이용하고, 실수를 처리할 때 부동 소수점(floating-point)방식을 이용하는데, 실수형을 저장하기 위해 4바이트 혹은 8바이트의 고정된 크기의 메모리를 할당하여 실수 정보를 표현할 때 오차가 발생함
- 0.3 + 0.6 = 0.89999
- round()함수를 통해 해결 가능
- round(123.456, 2) → 123.46
- 수 자료형의 사칙연산
- %(나머지), //(몫), **(제곱)
- 나누기 연산자(/)는 결과를 실수형으로 반환함
파이썬 문법: 리스트 자료형
파이썬 문법: 문자열, 튜플 자료형
- “ , ‘ 사용
- “”로 묶으면 내부적으로 ‘ 포함 가능
- ‘’로 묶으면 내부적으로 “ 포함 가능
- \사용 시 ‘, “ 포함가능
- 문자열 연산
- 문자열 변수에 덧셈(+)을 이용하면 문자열이 더해져 연결됨
- 문자열 변수를 특정 양의 정수와 곱하면 문자열이 그 값만큼 여러번 더해짐
- 문자열도 인덱싱과 슬라이싱 이용 가능하지만, 특정 인덱스의 값을 변경할수 는 없음 (immutable)
- 튜플 자료형
- 한 번 선언된 값을 변경할 수 없음
- 소괄호() 이용
- 리스트에 비해 상대적으로 공간 효율적
- 튜플을 사용하면 좋은 경우
- 서로 다른 성질의 데이터를 묶어서 관리해야 할 때
- 최단 경고 알고리즘에서는 (비용, 노드번호)의 형태로 튜플 자료형을 자주 사용
- 데이터의 나열을 해싱(Hashing)의 키 값으로 사용해야 할 때
- 튜플은 변경이 불가능하므로 리스트와 다르게 키 값으로 사용 가능
- 리스트보다 메모리를 효율적으로 사용해야 할 때
파이썬 문법: 사전, 집합 자료형
- 사전 자료형
- 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형
- 리스트나 튜플이 값을 순차적으로 저장하는 것과 대비됨
- 키와 값의 쌍을 데이터로 가지며, 원하는 ‘변경불가능한(Immutable) 자료형'을 키로 사용할 수 있음
- 파이썬의 사전 자료형은 해시 테이블(Hash Table)을 이용하므로 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리할 수 있음 (상수 시간)
- 문자열과 같은 key를 통해 데이터를 저장, 관리할 때 리스트보다 효율적으로 조회 가능
- 키 데이터만 뽑아서 리스트로 이용할 때 .keys() 사용
- 값 데이터만 뽑아서 리스트로 이용할 때 .values() 사용
- 집합 자료형
- 중복 허용 x, 순서 x
- 어떤 데이터가 존재하는지 여부만 확인할 때 효과적으로 사용
- 리스트 혹은 문자열을 이용해 초기화
- {}안에 각 원소를 콤마(,)를 기준으로 구분하여 삽입하여 초기화
- 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리 가능 (상수 시간)
- 집합 자료형의 연산
- 합집합(a|b), 교집합(a&b), 차집합(a-b)
- 집합 자료형 관련 함수
- 새로운 원소 추가: add()
- 새로운 원소 여러 개 추가: update()
- 특정한 값을 갖는 원소 삭제: remove()
- 사전 자료형과 집합 자료형의 특징
- 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료형의 값을 얻을 수 있음
- 사전자료형과 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없음
- 사전의 key 혹은 집합의 원소를 이용해 O(1)의 시간 복잡도로 조회
- 키나 원소의 값으로는 변경 불가능한 문자열이나 튜플과 같은 객체가 사용되어야 함
참고: 이것이 취업을 위한 코딩 테스트다 with 파이썬 (취업과 이직을 결정하는 알고리즘 인터뷰 완벽 가이드), 유튜브 강의 영상