1. 배열 Array 기본 자료형인 리스트를 배열처럼 사용합니다. 시간 복잡도 임의 접근 O(1) 삽입 / 삭제 O(N) 2. 스택 Stack 기본 자료형인 리스트를 스택처럼 사용합니다. stk = [] stk.append(x) #리스트의 맨 뒤에 요소를 삽입합니다. stk.pop() #리스트의 맨 뒤 요소를 반환하고 삭제합니다. (괄호 안을 비워뒀을 경우) 스택은 한 쪽에서만 데이터를 넣고 뺄 수 있는 자료구조입니다. 이러한 스택의 특징을 FILO(First-In-Last-Out) 또는 LIFO(Last-In-First-Out)라고 부릅니다. 시간 복잡도 삽입 / 삭제 O(1) 3. 덱 Deque 덱을 import해서 사용합니다. from collections import deque dq = deque..
파이썬
내장 함수 자료형을 변환하는 함수(1) 함수 기능 list(x) 반복 가능한 자료형 x를 입력받아 리스트로 만들어 반환 tuple(x) 반복 가능한 자료형 x를 입력받아 튜플로 만들어 반환 자료형을 변환하는 함수(2) - 문자열 ↔ 숫자 함수 기능 int(x, [y]) 문자열 형태의 숫자 또는 수수점이 있는 숫자 등을 입력받아 정수로 변환하여 반환 int(x, y)는 y진수로 표현된 문자열 x를 10진수로 변환하여 반환 str(x) x를 문자열 자료형으로 변환하여 반환 oct(x) 정수 x를 8진수 문자열로 변환하여 반환 hex(x) 정수 x를 16진수 문자열로 변환하여 반환 수학 관련 함수 함수 기능 min(x) 반복 가능한 자료형 x에서 최솟값을 찾아 반환 max(x) 반복 가능한 자료형 x에서 최댓..
기본 사용법 name = '홍길동' age = 30 x = f'이름은 {name}, 나이는 {age}입니다.' 정렬 val = 'hi' l = f'{val:10}' # 오른쪽 정렬 ( hi) * 위 코드에서 숫자 10의 의미는 총 10칸을 차지한다는 뜻으로, 'hi' 문자열이 2칸을 채우고 나머지 8칸은 공백으로 저장됩니다. 공백 채우기 val = 'hi' x1 = f'{val:=^10}' # 가운데 정렬하고 공백을 '='로 채우기 (====hi====) x2 = f'{val:!>10}' # 오른쪽 정렬하고 공백을 '!'로 채우기 (!!!!!!!!hi) 소수점 n = 3.141592 x1 = f'{n:0.4f}' # 소수점 4자리까지만 표현 (3.1415) x2 = f'{n:5.4f}' # 소수점 4자리..
딕셔너리 기본 형태 d = dict() d = {Key1:Value1, Key2:Value2, Key3:Value3, ...} - 연관 배열(Associative array), 해시(Hash)와 같은 개념입니다. - Key값의 조건은 아래 3가지가 있습니다. 1) Key에는 변하지 않는 값을, Value는 변할 수 있는 값을 사용한다. 2) Key값은 고유한 값이어야 한다. 즉 중복되면 안된다. 3) Key값으로 리스트, 딕셔너리 등은 올 수 없지만 튜플은 올 수 있다. 딕셔너리 요소 추가 / 삭제 코드 결과 딕셔너리 요소 추가 a = {1:'a'} a['name'] = 'pey' a {1:'a', 'name:'pey'} 딕셔너리 요소 삭제 a = {'A':1, 'B':2} del a['A'] a 또..
튜플과 리스트는 거의 동일하지만 다음과 같은 차이점이 있습니다. 1) 리스트는 []로 둘러싸고, 튜플은 ()로 둘러쌉니다. t = (1, 2, 3) 2) 리스트는 값의 생성, 삭제, 수정이 가능하고 튜플은 값을 바꿀 수 없다. - 따라서 튜플은 값이 항상 변하지 않길 바랄 때 사용합니다. - 실제 프로그램에서는 값이 변경될 때가 많기 때문에 리스트를 더 많이 사용합니다. 3) 튜플이 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 합니다. t = (3,) 4) 괄호를 생략해도 무방합니다. t = 1, 2, 3
집합(set) set()의 괄호 안에 리스트 또는 문자열을 입력하여 집합을 생성할 수 있습니다. 집합의 가장 큰 특징 1) 중복을 허용하지 않는다. 2) 순서가 없다. - 집합은 중복을 허용하지 않기 때문에, 중복을 제거하기 위한 필터 역할로 종종 사용합니다. - 순서가 없는 자료형이기 때문에 인덱싱을 지원하지 않습니다. - 따라서 set에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환한 후 해야합니다. s1 = set([1, 2, 3]) l1 = list(s1) # 리스트로 변환 t1 = tuple(s1) # 튜플로 변환 교집합 / 합집합 / 차집합 s1 = set([1, 2, 3, 4, 5, 6]) s2 = set([4, 5, 6, 7, 8, 9)] 코드 결과 교집합 s1 & s2 {4, 5..
리스트 인덱싱 a = [1, 2, ['a', 'b']] 코드 결과 a [1, 2, ['a', 'b']] a[0] 1 a[-1] ['a', 'b'] a[-1][0] 'a' 리스트 슬라이싱 (문자열 슬라이싱과 사용법이 동일하다) a = [1, 2, 3, 4, 5] 코드 결과 a[0:2] [1, 2] 리스트 연산 연산자 예시 코드 결과 설명 + a = [1, 2, 3] b = [4, 5, 6] a + b [1, 2, 3, 4, 5, 6] '+'연산은 두 리스트를 단순히 이은 새 리스트를 생성한다. * a = [1, 2, 3] a * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3] '*'연산은 그 횟수만큼 리스트를 반복하여 새로운 리스트를 생성한다. len a = [1, 2, 3] len(a) 3 리스트에..
문자열이란 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다. 문자열 표현법 작은 따옴표(') 1개에 둘러싸기 → 'apple' 큰 따옴표(") 1개에 둘러싸기 → "apple" 작은 따옴표(''') 3개에 둘러싸기 → '''apple''' 큰 따옴표(""") 3개에 둘러싸기 → """apple""" 넷 중 그 무엇을 사용해도 상관없으나, 따옴표를 3개씩 사용하는 방법의 장점은 여러 줄로 구성된 문자열을 간편하게 표현할 수 있다는 것입니다. 이를테면, '''안녕하세요. 홍길동입니다.''' 와 같이 사용할 수 있습니다. 이스케이프 코드 이스케이프 코드란 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 '문자 조합'입니다. 대표적으로 자주 사용되는 이스케이프 코드에 대해서 알아보겠습니다. 이스케이프 코..