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]