Notice
Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
10-11 00:15
Archives
Today
Total
관리 메뉴

Developer_Neo

[python] 람다함수 및 파이썬 내장함수 본문

프로그래밍/Python

[python] 람다함수 및 파이썬 내장함수

_Neo_ 2022. 1. 16. 22:27
반응형

람다함수

- 이름 없는 함수

- 함수의 인수로 함수를 넣어야 하는 경우에 유용

 

형식

lambda 인수들 : 반환할 식

def add(x,y)
	return x+y
    
#람다식
lambda x,y : x+y
>>> f = lambda x,y: x+y 
>>> z = f(5,7) 
>>> print(z) 
12

 

 

파이썬 내장 함수

자료형 변환 함수

- 각 자료형마다 같은 이름으로 함수가 존재

- int(), float(), complex(), bool(), str(), list(), tuple(), set(), dict()

 

수학관련함수

- abs(), divmod(x,y), pow(x,y), round(x), bin(x), oct(x), hex(x)

 

iter(x) 함수

- x에 넣는 객체가 iterable 객체인지 판단하는 함수

- 수치 자료형은 iterable 객체가 아님.

- 컨테이너 자료형은 iterable 객체

 

iterable 객체를 반환하는 함수들

- range(), sorted, reversed(), enumerate(), map(), filter(), zip()

  1. enumerate()
    '''
    enumerate(iterable객체)
    enumerate(iterable객체, 정수)
    
    인수가 1개인 경우에는 iterable 객체에 0부터 번호를 붙여서 반환
    인수가 2개인 경우에는 두 번째 인수로 숫자를 넣어야 함. iterable객체에 두 번째 인수부터 번호를 붙여서 반환함
    '''
    >>> fruits = ['apple', 'melon', 'kiwi', 'orange'] 
    >>> enumerate(fruits) # enumerate( ) 함수의 반환값은 enumerate 객체
    <enumerate object at 0x03307C38> 
    >>> iter(enumerate(fruits)) # enumerate 객체는 iterable 자료형입니다. 
    <enumerate object at 0x023DBF08> 
    >>> list(enumerate(fruits)) # enumerate 객체를 리스트로 변환합니다. 
    [(0, 'apple'), (1, 'melon'), (2, 'kiwi'), (3, 'orange')] 
    >>> tuple(enumerate(fruits)) # enumerate 객체를 튜플로 변환합니다. 
    ((0, 'apple'), (1, 'melon'), (2, 'kiwi'), (3, 'orange')) 
    >>> list(enumerate(fruits, 10)) 
    [(10, 'apple'), (11, 'melon'), (12, 'kiwi'), (13, 'orange')] 
    >>> list(enumerate(fruits, 15)) 
    [(15, 'apple'), (16, 'melon'), (17, 'kiwi'), (18, 'orange')]​

enumerate() 함수는 사전을 만드는 데 유용(사전의 ‘키’가 됨)

 

2. map()

'''
map(함수명,iterable객체 1개 이상)

이때 함수명에 내장함수, 사용자가 만든 함수, 람다함수 넣을 수 있다.
'''

>>> result = map(abs, [-3, -5, 0, 2, 7, -9]) 
>>> print(result) # map( ) 함수의 결과는 map 객체입니다. 
<map object at 0x023D3B70> 
>>> list(result)
[3, 5, 0, 2, 7, 9] 
>>> iter(result) # map( ) 함수의 결과는 iterable 객체입니다. 
<map object at 0x023D3B70> 

>>> L=[1, 2, 3, 4, 5,] 
>>> list(map(lambda x : x * x, L))
[1, 4, 9, 16, 25]

 

3. filter() 함수

'''
filter(함수, iterable객체)
첫 번째 인수로 True 또는 False를 결과로 내는 함수를 넣어야 함.
'''

>>> def even(x): # x가 짝수이면 True, 홀수이면 False를 반환
if x%2 == 0: return True 
else: return False 
>>> L = [4, 9, 10, 11, 14, 2, 13, 15, 20, 9] 
>>> result = filter(even, L) # L에서 even( ) 함수를 True로 만드는 원소만 필터링
>>> list(result) # 리스트로 변환하여 결과를 확인합니다. 
[4, 10, 14, 2, 20]

 

4. zip() 함수

- 1개 이상의 iterable 객체를 인수로 받아서 zip 객체를 반환함

>>> A = [1, 2, 3] 
>>> B = ['one', 'two', 'three'] 
>>> result = zip(A, B) # zip( ) 함수의 인수는 모두 iterable 객체
>>> print(result) # zip( ) 함수의 반환값은 zip 객체입니다. 
<zip object at 0x02173B70> 
>>> dict(result) # zip 객체는 iterable 합니다. 
{1: 'one', 2: 'two', 3: 'three'}
>>> list(result) # zip 객체를 리스트로 변환하여 결과를 확인
[(1, 'one'), (2, 'two'), (3, 'three')] 

>>> A = [1, 2, 3, 4, 5]; B = ['one', 'two', 'three'] 
>>> list(zip(A,B)) # 두 인수의 개수가 다르면 짧은 쪽에 맞춤
[(1, 'one'), (2, 'two'), (3, 'three')]

 

 

반응형
Comments