Developer_Neo
[python] 람다함수 및 파이썬 내장함수 본문
반응형
람다함수
- 이름 없는 함수
- 함수의 인수로 함수를 넣어야 하는 경우에 유용
형식
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()
- 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')]
반응형
'프로그래밍 > Python' 카테고리의 다른 글
[python] 모듈, random모듈, itertools모듈 (0) | 2022.01.17 |
---|---|
[python] 파일 입출력 (0) | 2022.01.16 |
[python] 함수 정의, main문 , 지역변수와 전역변수(global키워드) (0) | 2022.01.16 |
[python] 사전 만들기, 연산자, 함수, 메소드 (0) | 2022.01.16 |
[python] 얕은 복사 VS 깊은 복사 (0) | 2022.01.16 |
Comments