itertools
이터레이터 도구 함수로, 주로 사용하는 이터레이터는 다음과 같다.
cycle("abcd") ==> a b c d a b c d ... accumulate() ==> 합계 누적 zip(p,q,...) ==> 조합 묶기 zip_longest(p,q,...) ==> 부족한 것을 채워 묶기 product(p,q,...) ==> 데카르트 곱 (이중 for문과 동일) permutations(p[,r]) ==> (r길이 tuple) 순열 combinations(p,r) ==> (r길이 tuple) 조합, 반복X combinations_with_replacement(p,r) ==> (r길이 tuple) 조합, 반복O
사용 예시
zip
나중에 쓸때 적자...!ㅋㅋㅋ
math
가장 흔히 쓰이는 수학 관련 함수이다.
편의상from math import *
한 것으로 가정하고 적는다.
출력 형식은 모두 float이다.ceil(x) ............. 올림 floor(x) ............ 반올림 comb(n,k) ........... combinations 가능한 방법의 수 copysign(x,y) ....... x의 크기와 y의 부호를 갖는 float를 반환 fabs(x) ............. 절대값 ......... abs가 아님에 주의 sqrt(x) ............. 제곱근 factorial(n) ........ 팩토리얼 gcd(*int) ........... 최대 공약수 lcm(*int) ........... 최소 공배수
pow(x,y) ............ x^y exp(x) .............. e^x ........ math.e ** x, pow(math.e, x) 보다 정확함 expm1(x) ............ e^x - 1 .... 높은 정밀도 제공 log(x[, base]) ...... 밑이 base인 log x [base의 default 값은 e] log2(x) ............. 밑이 2인 log x .... log(x,2) 보다 정확함
isfinite(x) ......... 무한대나 NaN이 아니면 True isinf(x) ............ 무한대이면 True isnan(x) ............ NaN(not a number) 이면 True
sin(x) cos(x) tan(x) ....... x(단위: rad)의 삼각함수 값 asin(x) acos(x) atan(x) .... x의 arc 삼각함수 값 degrees(x) .......... x(rad) => x(degree) 변환 radians(x) .......... x(degree) => x(radian) 변환
math.pi ............. 원주율 math.e .............. 자연상수 math.inf ............ 무한대 math.nan ............ NaN을 반환함
random
난수를 만드는 내장함수이다.
import random
random.random() ............ 0에서 1 사이의 난수를 출력 random.randomrange(a,b) .... a이상 b 미만의 난수를 출력 random.shuffle(*list) ...... 리스트의 순서를 랜덤으로 섞음 random.choice(*list) ....... 리스트의 원소 중 하나를 무작위로 추출