>  기사  >  백엔드 개발  >  Python 맵, 필터 및 축소 소개

Python 맵, 필터 및 축소 소개

巴扎黑
巴扎黑원래의
2016-12-09 11:49:501343검색

1、filter(function,iterable) 

引用

함수가 true를 반환하는 iterable 요소로 목록을 구성합니다. iterable은 시퀀스, 반복을 지원하는 컨테이너 또는 반복자일 수 있습니다. iterable이 문자열이나 튜플이면 결과에도 해당 유형이 있습니다. 그렇지 않으면 항상 목록입니다. function이 None이면 항등 함수가 가정됩니다. 즉, false인 iterable의 모든 요소가 제거됩니다. 


filter(function, iterable)는 function이 None이 아닌 경우 [iterable의 항목에 대한 항목(item)] 및 [iterable의 항목에 대한 항목(if item)]과 동일합니다. 함수가 None인 경우. 

데모: 

Python代码  

#-*-coding:utf-8-*-  

def foo():  

    return 필터(lambda x:x>5,range(0,10))  

def bar():  

    return [x for x in range(0,10) 만약 x > 5]  

print foo() == bar()  


2、map(function,iterable,….) 

引用

iterable의 모든 항목에 함수를 적용하고 결과 목록을 반환합니다. 추가 반복 가능 인수가 전달되면 함수는 그만큼의 인수를 가져와야 하며 모든 반복 가능 항목의 항목에 병렬로 적용됩니다. 하나의 iterable이 다른 iterable보다 짧은 경우 None 항목으로 확장되는 것으로 가정됩니다. function이 None이면 항등 함수가 가정됩니다. 인수가 여러 개인 경우 map()은 모든 반복 가능 항목의 해당 항목을 포함하는 튜플로 구성된 목록을 반환합니다(일종의 전치 작업). 반복 가능한 인수는 시퀀스이거나 반복 가능한 객체일 수 있습니다. 결과는 항상 목록입니다.


demo: 

Python代码  

#-*-coding:utf-8-*-  

def add(x,y):  

    x+y 반환  

지도 인쇄(add, range(8),range(8))  


3、reduce(function,iterable[,initalizer]) 

引用

두 개의 인수 함수를 iterable 항목에 누적하여 왼쪽에서 오른쪽으로 적용하여 줄이기 단일 값으로 반복 가능합니다. 예를 들어, Reduce(lambdax, y: x+y, [1, 2, 3, 4, 5])는 ((((1+2)+3)+4)+5)를 계산합니다. 왼쪽 인수 x는 누적된 값이고 오른쪽 인수 y는 iterable의 업데이트 값입니다. 선택적 초기화가 있는 경우 계산에서 iterable 항목 앞에 배치되고 iterable이 비어 있으면 기본값으로 사용됩니다. initializer가 제공되지 않고 iterable에 항목이 하나만 포함되어 있으면 첫 번째 항목이 반환됩니다. 대략 다음과 같습니다:


데모: 

Python代码  

#-*-coding:utf-8-*-  
def foo():  
    return reduce(lambda x,y:x*y,range(1,5))  
print foo()


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.