목록PYTHON (6)
컴공생 누르지 마세요! 컴공생 울어요.
집합 자료형 리스트 or 문자열을 이용해서 만들 수 있음 다음과 같은 특징 존재 중복을 허용하지 않음 순서가 없음 사전 자료형과 집합 자료형은 순서가 없기 때문에 인덱싱 불가 특정 원소가 존재하는지 검사하는 연산의 시간 복잡도는 O(1) '특정한 데이터가 이미 등장한 적이 있는지 여부'를 체크할 때 효과적 집합 자료형의 초기화 set() 함수 이용 중괄호 {} 안에 각 원소를 콤마 , 를 기준으로 구분해서 넣음 data = set([1, 1, 2, 3, 4, 4, 5]) print(data) # 결과: {1, 2, 3, 4, 5} data = {1, 1, 2, 3, 4, 4, 5} print(data) # 결과: {1, 2, 3, 4, 5} 집합 자료형의 연산 합집합: | 교집합: & 차집합: - a =..
사전 자료형 키 key와 값 value의 쌍을 데이터로 가지는 자료형 우리가 원하는, 변경 불가능한 데이터를 키로 사용할 수 있음 변경 불가능한 데이터: 수 자료형, 문자열 자료형, 튜플 자료형처럼 한 번 초기화되면 변경이 불가능한 자료형 튜플 자료형도 가끔 사전 자료형의 키로 사용됨 내부적으로 해시 테이블 이용 -> 데이터의 검색 및 수정을 O(1) 시간에 처리 -> 리스트보다 훨씬 빠름 data = dict() data['사과'] = 'apple' data['바나나'] = 'banana' data['코코넛'] = 'coconut' print(data) # 결과: {'사과': 'apple', '바나나': 'banana', '코코넛': 'coconut'} 코테 문제에서 리스트보다 훨씬 적은 메모리 공간을..
튜플 자료형 리스트와 거의 비슷하지만, 아래와 같은 차이점 존재 차이점 1. 튜플은 한 번 선언된 값을 변경할 수 없음. 차이점 2. 리스트는 대괄호 ([])를 이용하지만, 튜플은 소괄호 (()) 이용 a = (1, 2, 3, 4) a[2] = 7 # 에러 발생 - 그래프 알고리즘 구현 시 자주 사용 ex) 다익스트라 최단 경로 알고리즘처럼 최단 경로를 찾아주는 알고리즘에서 사용되는 우선순위 큐에 한 번 들어간 값은 변경되지 않음. 이러한 우선순위 큐를 구현할 때 튜플을 사용함으로써 의도치 않은 값의 변경을 방지할 수 있음. - 리스트에 비해 상대적으로 공간 효율적 - 각 원소의 성질이 서로 다를 때 주료 사용 ex) 다익스트라 최단 경로 알고리즘에서는 (비용, 노드번호)의 형태로 서로 다른 성질의 데이..
문자열 자료형 문자열 초기화 - 큰따옴표 (") or 작은따옴표 (') 이용 - 문자열을 큰따옴표로 구성 -> 내부적으로 작은따옴표 사용 가능 - 문자열을 작은따옴표로 구성 -> 내부적으로 큰따옴표 사용 가능 - 이스케이프 문자인 백슬래시 (\)를 사용하여 내부적으로 큰따옴표 or 작은따옴표 사용 가능 data = "Hello \"World\"" print(data) # 결과: Hello "World" 문자열 연산 - 문자열 변수에 덧셈 (+) 이용 -> 문자열이 더해짐 - 문자열 변수를 양의 정수와 곱함 -> 문자열이 양의 정수만큼 반복 - 문자열 변수는 내부적으로 리스트와 같이 처리 -> 인덱싱 & 슬라이싱 이용 가능 a = "Hello" b = "World" print(a + b) # 결과: Hel..
리스트 자료형 - 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용 - C나 자바에서의 배열 기능 포함 - 내부적으로 연결 리스트 자료구조 -> append() & remove() 함수 지원 리스트 만들기 a = [1, 2, 3, 4, 5] # 인덱스 이용 접근 print(a[2]) # 3 # 빈 리스트 선언 방법 a = list() a = [] #크기가 N이고, 모든 값이 0인 1차원 리스트 초기화 n = 10 a = [0] * n print(a) # [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 인덱싱과 슬라이싱 - 인덱스가 음수면 맨 뒤 원소부터 -1로 시작. - 슬라이싱의 경우, a[시작 인덱스:끝 인덱스] - 이때, 끝 인덱스에 1을 뺀 인덱스까지 출력됨 a = [1,2,3,4,5..
수 자료형 Number 정수형 Integer - 정수를 다루는 자료형 - 양의 정수, 음의 정수, 0 - ex) a, b = 1000, -7 실수형 Real number - 소수점 아래의 데이터를 포함하는 수 자료형 - 소수부가 0이거나, 정수부가 0인 경우 0 생략 가능 (ex. a = 5. b = -.7) - e나 E를 이용한 지수표현 방식 사용 가능 - 유효숫자e지수 = 유효숫자X10^지수 (ex. 1e9 == 1 X 10^9) => 코테 문제에서 최단 경로로 가능한 최댓값이 10억 미만이라면 INF를 표현할 때 10억 대신 1e9 혹은 987,654,321 사용 가능 - 컴퓨터는 실수를 처리할 때 부동 소수점(floating point) 방식을 사용하는데, 4B or 8B의 고정된 크기의 메모리 ..