본문 바로가기

Study/Python study30

[Python(파이썬)] 힙큐(heapq) 모듈 힙(heap)의 설명은 아래 정리해두었다. [자료구조] 힙(heap) 힙(heap) 최댓값 및 최소값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(complete binary tree) * 이진 트리 : 한 노드의 자식 노드가 최대 2개인 트리 * 완전 이진 트리 : 노드를 삽입할때 young-library.tistory.com heapq 모듈 Python의 heapq 모듈 (= JAVA의 PriorityQueue 클래스) 이진 트리(binary tree)기반의 최소 힙(min heap) 자료구조 # heapq -> 내장 모듈 import heapq heapq.heappush(Heap, item) - 노드 삽입 # 빈 heap 생성 >>> heap = [] # 8 삽입 >>> heapq.hea.. 2021. 7. 8.
[Python(파이썬)] 올림, 내림, 반올림 (소수점, 일의 자리, 십의 자리, ...) 올림 소수점 올림 math 모듈의 ceil()을 사용하여 올림을 계산한다. >>> import math # 나눗셈 계산 후 올림 >>> 7/3 2.3333333333333335 >>> math.ceil(7/3) 3 >>> math.ceil(4.2) 5 >>> math.ceil(-4.2) -4 정수 올림 (1의 자리, 10의 자리, ...) # 1의 자리 올림 >>> ((18 // 10) + 1 )* 10 20 >>> ((1768 // 10) + 1 )* 10 1770 18 // 10 = 1 -> 일의 자리 없애기 1 + 1 = 2 -> 십의 자리 1 올리기 2 * 10 = 20 -> 다시 일의 자리에 0 채우기 1768 // 10 = 176 -> 일의 자리 없애기 176 + 1 = 177 -> 십의 자리.. 2021. 7. 7.
[Python(파이썬)] 리스트, 튜플, 세트, 딕셔너리 리스트 (list) 순차 자료형, 가변 자료형 데이터를 나열한 열거 데이터의 집합(파이썬에서 사용되는 모든 자료형을 저장가능)이다. [] 로 표현, 각각의 항목은 쉼표(,)로 구분한다. 리스트 선언 방법 [] or list() >>> test = [] >>> test2 = list() >>> type(test) >>> type(test2) 튜플 (tuple) '리스트 타입'과 닮았지만 값을 변경할 수 없는 특징을 가진다. extend(), append(), pop(), insert(), remove() 와 같은 값 변경하는 함수 존재 하지 않는다. 순차 자료형,` 불변 자료형 () 로 표현, 각각의 항목은 쉼표(,)로 구분한다. 튜플 선언 방법 () or tuple() # 빈 튜플 선언 >>> test .. 2021. 7. 6.
[Python(파이썬)] itertools - 순열, 조합, product, 두 개 이상 리스트 모든 조합 순열(Permutation) 서로 다른 n개 중에서 r개를 취하여 그들을 일렬로 세울 때, 하나하나를 n개 중에서 r개 취한 순열 (= 서로 다른 n 개 중 r 개를 골라 순서를 고려해 나열한 경우의 수) # 파이썬에서 순열을 사용하는 법 >>> from itertools import permutations >>> test = [1,2,3,4,5] >>> permutations(test) >>> list(permutations(test, 2)) [(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 5), (5, 1), (5, 2), (5.. 2021. 7. 5.
[Python(파이썬)] 몫, 나머지 구하기( /, //, %, divmod() ) 나눗셈 나눗셈 기호 -> 슬래쉬 1개 '/' >>> 8 / 2 4.0 # 나누어 떨어지지 않으면 반올림 된다. >>> 14 / 3 4.666666666666667 >>> 15 / 5 3.0 >>> 21 / 8 2.625 나눗셈의 몫 나눗셈의 몫 기호 -> 슬래쉬 2개 '//' >>> 8 // 2 4 >>> 14 // 3 4 >>> 15 // 5 3 >>> 21 // 8 2 나눗셈의 나머지 나눗셈의 나머지 기호 -> 퍼센트 '%' >>> 8 % 2 0 >>> 14 % 3 2 >>> 15 % 5 0 >>> 21 % 8 5 divmod(a, b) 매개변수 숫자 a, b를 입력 받아 몫과 나머지를 튜플(tuple) 형태로 반환하는 함수 >>> divmod(8, 2) (4, 0) >>> divmod(14, 3) .. 2021. 7. 2.
[Python(파이썬)] 문자열 인덱스로 접근하기 문자열은 문자들이 일렬로 모여있는 상태 문자열[인덱스] 문자열은 리스트처럼 인덱스로 접근하여 값을 가져올 수 있다. >>> test = 'python' # test의 인덱스 0(첫번째)번 가져오기 >>> test[0] 'p' # test의 마지막 인덱스 가져오기 >>> test[-1] 'n' # test의 인덱스 0~2까지 가져오기 >>> test[:3] 'pyt' # 인덱스의 범위가 벗어나면 에러발생 >>> test[7] Traceback (most recent call last): File "", line 1, in test[7] IndexError: string index out of range 문자열의 길이 >>> len(test) 6 문자열은 리스트와 같이 =로 문자를 할당하거나 변경할 수 없다.. 2021. 7. 2.
[Python(파이썬)] Numpy 라이브러리 Numpy 라이브러리 데이터 분석에서 가장 많이 활용되는 라이브러리 벡터과 행렬 등 수치 연산을 수행하는 데에 있어서 매우 편리한 기능을 제공한다. Numpy는 내장 라이브러리가 아니기 때문에 별도로 import해야 한다. import numpy as np list1 = [10, 20, 30, 40, 50] print(list1) list2 = np.array(list1) print(list2) # 출력 (numpy는 쉼표 없이 출력된다) # [10, 20, 30, 40, 50] # [10 20 30 40 50] 아직 더 공부해서 채워넣기!!!! 2021. 7. 1.
[Python(파이썬)] 문자열안에 변수 넣기 파이썬에서 문자열에 변수 넣는 3가지 방법 1. % 사용 방법 - C에서 사용하는 방법처럼 사용 def solution(name, age): return '이름은 %s이고, 나이는 %d이다.' %(name, age) 2. format() 사용 방법 format()의 입력값에 맞춰서 {숫자}를 이용하기도 하고 {변수}도 사용 가능 # {숫자}를 사용한 방법 def solution(name, age): return '이름은 {0}이고, 나이는 {1}이다.'.format(name, age) # {문자}를 사용한 방법 def solution(name, age): return '이름은 {a}이고, 나이는 {b}이다.'.format(a = name, b = age) 3. f-string 사용 방법 def solut.. 2021. 6. 18.
[Python(파이썬)] sort와 sorted 차이 sort와 sorted차이 sort() .sort(key = , reverse = True|False) - 리스트를 정렬해주는 기능을 하는 함수, 반환값이 None이다. - 정렬된 값을 리턴하지 않는다. - 원본의 내용을 정렬한 형태로 바꿔준다. - 리스트만 사용가능하다. - 새로운 리스트를 만들지 않기 때문에 sorted보다 빠르다. sort() 사용 strings = ["sun", "bed", "car"] n = 1 def solution(strings, n): return strings.sort(key=lambda x: x[n]) print(solution(strings, n)) # 출력 # 'None' # sort() 사용 >>> type(strings.sort(key=lambda x: x[n]).. 2021. 6. 17.
[Python(파이썬)] 람다 함수(lambda) ◎ def 함수 - 똑같은 내용을 반복적으로 작업할 때 사용 def test_func(b): a = 4 return a + b >>> test_func(3) # 출력 # 7 ◎ 람다 함수(익명 함수) - 사용하고 버리는 일시적인 함수 - 코드가 간결하다 - 메모리 절약 가능 람다 표현식 자체를 호출 - 정의와 동시에 사용 (재사용 불가) a = 4 (lambda x: x+a)(3) #출력 # 7 람다 표현식 안에서 변수 생성 불가하고, 위와 같이 바깥에 있는 변수는 사용가능 하다. lambda x: x + a 를 실행 한 경우에는 익명 함수이기 때문에 함수를 호출 할 수 없어 아래와 같이 test_ld라는 변수에 할당해 줄수도 있다. 변수에 할당한 람다 함수 (재사용 가능) # 매개변수 2개 사용 tes.. 2021. 6. 17.