https://wikidocs.net/32#abs
위의 사이트를 보고 내가 자주 사용한 , 혹은 사용할 함수를 정리한 것이다.
abs(x) 는 어떤 숫자를 입력 받았을 때 , 그 숫자의 절댓값을 돌려주는 함수이다.
abs(3) # 3
abs(-3) # 3
abs(-1.2) # 1.2
divmod(a,b) 는 2개의 숫자를 입력으로 받는다.
그리고 a 를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다.
divmod(7,3)
(2,1)
몫을 구하는 연산자 // 와 나머지를 구하는 연산자 % 를 각각 사용한 결과와 비교
print(7 // 3 ) # 2
print(7 % 3 ) # 1
enumerate 는 "열거하다" 라는 뜻이다.
이 함수는 순서가 있는 자료형 ( 리스트 , 튜플 , 문자열 ) 을 입력받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다.
for i, name in enumerate(['body', 'foo', 'bar']):
print( i , name )
# 0 body
# 1 foo
# 2 bar
순서 값과 함께 body , foo , bar 가 순서대로 출력 되었다.
즉 위 예제와 같이 enumerate 를 for 문과 함께 사용하면 자료형의 현재 순서(index) 와 그 값을 쉽게 알 수 있다.
eval(expression) 은 실행 가능한 문자열 (1+2 , 'hi' + 'a' 같은것 ) 을 입력으로 받아 문자열을 실행한 결괏값을돌려주는 함수이다.
print( eval('1+2') ) # 3
print( eval(" 'hi' + 'a' " ) # 'hia'
print( eval(' divmod(4,3) ' ) # ( 1 , 1 )
filter 란 무엇인가를 걸러낸다
는 뜻이다.
filter 함수도 동일한 의미를 가진다.
filter 함수는 첫 번째 인수로 함수 이름
을 , 두 번째 인수로 그 함수에 차례로 들어갈 반복 가능한 자료형
을 받는다.
그리고 두 번째 인수인 반복 가능한 자료형 요소가 첫 번째 인수인 함수에 입력되었을 때 반환 값이 참인 것만 묶어서(걸러 내서) 돌려준다.
def positive( num_list ) :
result = []
for i in num_list:
if i > 0 :
result.append(i)
return result
print(positive([ 1,-3,2,0,-5,6 ] ))
## [ 1 , 2 , 6 ]
즉 위에서 만든 positive 함수는 리스트를 입력값으로 받아 각각의 요소를 판별해서 양수 값만 돌려주는 함수이다.
filter 함수를 사용하면 위 내용을 다음과 같이 간단하게 작성할 수 있다.
def positive(x):
return x > 0
print(list(filter(positive , [1,-3,2,0,-5,6])))
# [ 1 , 2 , 6 ]
여기에서는 두 번째 인수인 리스트의 요소들이 첫 번째 인수인 positive 함수에 입력되었을 때 반환 값이 참인 것만 묶어서 돌려준다.
앞의 예에서는 1 , 2 , 6 만 양수여서 x > 0 문장이 참이되므로
[ 1 , 2 , 6 ]이라는 결과값을 돌려주게 된다.
앞의 함수는 lambda 를 사용하면 더욱 간편하게 작성 할 수 있다.
list(filter(lambda x : x > 0 , [1 , -3 , 2 , 0 , -5 , 6]))
# [ 1 , 2 , 6 ]
map( f , iterable ) 은 함수 ( f ) 와 반복 가능한( iterable ) 자료형을 입력으로 받는다.
map 은 입력받은 자료형의 각 요소를 함수 f 가 수행한 결과를 묶어서 돌려주는 함수이다.
def two_times(numberList):
result = [ ]
for number in numberList:
result.append(number * 2)
return result
result = two_times([1 , 2 , 3 , 4])
print(result) # [ 2 , 4 , 6 , 8]
위 예제는 map 함수를 사용하면 다음처럼 바꿀 수 있다.
def two_times(x):
return x * 2
print(map(two_times , [1 , 2 , 3 , 4])))
# [2 ,4 , 6 , 8]
리스트의 첫번째 요소인 1 이 two_times 함수의 입력값으로 들어가고
1 2 의 과정을 거쳐서 2가 된다.
다음으로 리스트의 두번째 요소인 2 가 2 2 의 과정을 거쳐 4 가 된다.
따라서 결과값 리스트는 이제 [ 2 , 4 ] 가 된다.
총 4개의 요소값이 모두 수행되면 마지막으로 [2 ,4 ,6 ,8 ] 을 돌려줌
print(list(map(lambda a: a*2 , [1 , 2 , 3 , 4]))
# [ 2 , 4 , 6 , 8 ]
max( iterable ) 는 인수로 반복 가능한 자료형을 입력받아 그 최댓값을 돌려주는 함수이다.
print( max([1 , 2 , 3 ]) ) # 3
print( max("python") ) # 'y'
min( iterable ) 은 max 함수와 반대로 , 인수로 반복 가능한 자료형을 입력받아 그 최소값을 돌려주는 함수이다.
print(min([1 , 2 , 3]) # 1
print(min("python")) # 'h'
pow(x,y) 는 x 의 y 제곱한 결과값을 돌려주는 함수이다.
print(pow(2,4)) # 16
print(pow(3,3)) # 27
round(number[, ndigits]) 함수는 숫자를 입력받아 반올림해 주는 함수이다.
print(round(4.6)) # 5
print(round(4.2)) # 4
소수점 2 자리까지만 반올림하여 표시 할 수 있다.
print(list(zip([1,2,3] , [4,5,6]))
# [ (1,4) , (2,5) , (3,6) ]
print(list(zip([1,2,3] , [4,5,6] , [7,8,9] ))
#[ (1,4,7) , (2,5,8) , (3,6,9) ]
print(list(zip("abc" , "def" ))
#[ ('a' , 'd') , ('b' , 'e') , ('c' , 'f') ]