본문 바로가기
Programming Languages/Python

Chapter 14. Math, Test, Sort

by 더 이프 2023. 3. 20.
728x90

Chapter 14. Math, Test, Sort

 1. Math

  ⦁ math 라이브러리를 import하여 사용 가능

  ⦁ 각 함수를 직접 만들어 사용 가능

  ⦁ 주로 평균, 중간값, 편차, 분산, 표준편차 등을 사용

 a. math

# math
import math

# 평균
def mean(num_list):
    return sum(num_list)/len(num_list)
    
# 중간값
def median(num_list):
    num_list.sort()
    if len(num_list)%2==1:
        #//는 몫만 가지고 옴
        i = (len(num_list))//2
        return num_list[i]
    else:
        i = len(num_list)//2
        return (num_list[i] + num_list[i-1])/2
        
# 편차
def dev(num_list):
    m = mean(num_list)
    return [x-m for x in num_list]
    
# 분산
def var(num_list):
    n = len(num_list)
    d = dev(num_list)
    return sum([x*x for x in d])/(n-1)
    
# 표준편차
def stdev(num_list):
    return math.sqrt(var(num_list))

 2. Test

  ⦁ test를 통해 기능 확인 가능

  ⦁ assert 명령어를 사용하여 예상하는 결과가 틀리면 오류 출력

 a. test

# test
assert median([5, 17, 26, 27, 35, 38, 1])==26
assert median([5, 17, 26, 27, 35, 38])==26.5

 3. Sort

  ⦁ sort는 무작위 값을 순차적으로 바꿔주는 것

  ⦁ sort와 sorted 함수 사용 가능

  ⦁ sort는 원본을 바꾸는 것이고, sorted는 원본은 놔두고 결과만 순차적으로 바꿈

 a. sort

# sort
list_a = [5, 17, 26, 27, 35, 38, 1]

# 원본을 그대로 놔두는 것
print(sorted(list_a))
print('after sorted:', list_a)

# 원본을 건드리는 것 = in-place
list_a.sort()
print(list_a)

# 결과값
[1, 5, 17, 26, 27, 35, 38]
after sorted: [5, 17, 26, 27, 35, 38, 1]
[1, 5, 17, 26, 27, 35, 38]