파이썬 내장함수 정리

BackEnd_Ash.log·2020년 2월 12일
0

파이썬

목록 보기
1/34

https://wikidocs.net/32#abs
위의 사이트를 보고 내가 자주 사용한 , 혹은 사용할 함수를 정리한 것이다.

abs ( 절댓값 )

abs(x) 는 어떤 숫자를 입력 받았을 때 , 그 숫자의 절댓값을 돌려주는 함수이다.

abs(3) # 3
abs(-3) # 3
abs(-1.2) # 1.2

divmod ( 나누기 )

divmod(a,b) 는 2개의 숫자를 입력으로 받는다.
그리고 a 를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다.

divmod(7,3)
(2,1)

몫을 구하는 연산자 // 와 나머지를 구하는 연산자 % 를 각각 사용한 결과와 비교

print(7 // 3 ) # 2
print(7 % 3 ) # 1

enumerate

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

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 함수도 동일한 의미를 가진다.

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

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 ( 최대값 )

max( iterable ) 는 인수로 반복 가능한 자료형을 입력받아 그 최댓값을 돌려주는 함수이다.

print( max([1 , 2 , 3 ]) ) # 3
print( max("python") ) # 'y'

min ( 최소값 )

min( iterable ) 은 max 함수와 반대로 , 인수로 반복 가능한 자료형을 입력받아 그 최소값을 돌려주는 함수이다.

print(min([1 , 2 , 3]) # 1
print(min("python")) # 'h'

pow ( 제곱 )

pow(x,y) 는 x 의 y 제곱한 결과값을 돌려주는 함수이다.

print(pow(2,4)) # 16
print(pow(3,3)) # 27

round ( 반올림 )

round(number[, ndigits]) 함수는 숫자를 입력받아 반올림해 주는 함수이다.

print(round(4.6)) # 5
print(round(4.2)) # 4

소수점 2 자리까지만 반올림하여 표시 할 수 있다.

zip ( 동일한 개수로 묶어줌 )

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') ]
profile
꾸준함이란 ... ?

0개의 댓글