python 내장 함수:lambda,map,filter 간단 한 소개

1668 단어 pythonlambdamapfilter
lambda
lambda 는 작은 함수 로 이해 할 수 있 지만 하나의 문장 이 아 닌 표현 식 이기 때문에 def 가 나타 나 지 않 는 곳 에서 도 lambda 함 수 를 사용 할 수 있 습 니 다.예 를 들 어 list 와 같 습 니 다.하지만 lambda 에 서 는 표현 식 하나만 실행 할 수 있 습 니 다.

def f(x): 
  return x**2 
print f(3) 
a = lambda x: x**2 
print a(3) 
a = lambda x,y: x+y 
print a(1,2) 
~ 
 하나의 lambda 문 구 는 하나의 함수 정의 에 해당 하고 호출 할 때 도 함수 와 같 습 니 다.
map 함수
때때로 우 리 는 목록 에 있 는 모든 요 소 를 처리 해 야 할 때 가 있 습 니 다.for 순환 을 사용 하여 이 일 을 완성 할 수 있 습 니 다.그러나 Python 에 내 장 된 map 함 수 는 함수 와 목록 을 매개 변수 로 받 아들 이 고 함수 처리 후의 목록 을 되 돌려 줍 니 다.
map 함 수 는 순환 을 대체 할 수 있 습 니 다.
그것 은 for 순환 보다 효율 이 높 습 니 다.그 이 유 는 c 언어 에 직접 대응 하 는 순환 이기 때 문 입 니 다.

def add1(a): 
  return a + 1 
def add2(a, b): 
  return a + b 
def add3(a, b, c): 
  return a + b + c 
a1 = [1,2,3,4,5] 
a2 = [1,2,3,4,5] 
a3 = [1,2,3,4,5] 
b = map(add1, a1) 
print b 
b = map(add2, a1, a2) 
print b 
b = map(add3, a1, a2, a3) 
print b 
filter 함수,목록 을 걸 러 내 는 데 사 용 됩 니 다.쉽게 말 하면 하나의 함수 로 목록 을 걸 러 내 고 목록 의 모든 항목 을 필터 함수 에 전달 하 며 필터 함수 가 false 로 돌아 가면 이 목록 에서 이 항목 을 삭제 합 니 다.

def add1(a): 
  if a > 2: 
    return True 
  return False 
a1 = [1,2,3,4,5] 
b = filter(add1, a1) 
print b 
사실 이 filter 함 수 는 이것 에 해당 합 니 다:

c = [b for b in a1 if b > 2] 
print c 
총결산
위 에서 말 한 것 은 소 편 이 소개 한 python 내장 함수 입 니 다.lambda,map,filter,여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기