>  기사  >  백엔드 개발  >  Python의 람다 함수에 대한 간단한 분석(예제 포함)

Python의 람다 함수에 대한 간단한 분석(예제 포함)

不言
不言앞으로
2018-10-10 15:38:008424검색

이 글은 Python의 람다 함수에 대한 간단한 분석을 제공합니다(예제 포함). 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

1. 람다 함수는 익명 함수라고도 합니다. 즉, 함수에 특정 이름이 없습니다. 먼저 가장 간단한 예부터 살펴보겠습니다.

def f(x):
return x**2
print f(4)

파이썬에서 람다를 사용하면 이렇게 쓰여집니다.

g = lambda x : x**2
print g(4)

2. 일반 함수에 비해 람다는 함수를 생략합니다. 이름입니다. 동시에 이러한 익명 함수는 다른 곳에서 공유하거나 호출할 수 없습니다.

사실, 당신 말이 맞습니다. Python과 같은 동적 언어에서는 Lambda가 엄청난 역할을 하지 않습니다. 왜냐하면 Lambda를 대체할 수 있는 다른 메서드가 많기 때문입니다.

1. Python을 사용하여 일부 실행 스크립트를 작성할 때 람다를 사용하면 함수 정의 과정이 절약되고 코드가 더욱 간소화됩니다.

2. 다른 곳에서 재사용되지 않는 일부 추상 함수의 경우 함수 이름을 지정하기 어려울 때가 있습니다. 람다를 사용하면 이름 지정 문제가 필요하지 않습니다.

3. 람다를 사용하면 코드를 더 쉽게 이해할 수 있습니다.

lambda 기본

람다 문에서 콜론 앞에 매개변수가 있고 여러 개가 있을 수 있으며 쉼표로 구분되어 반환 값이 콜론의 오른쪽에. 람다 문이 구성하는 것은 실제로 함수 개체입니다.

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139

객체 순회 처리 측면에서 Python의 for..in..if 구문은 실제로 매우 강력하고 읽기 쉽습니다. .

defaultdict는 사전형으로 defaultdict에 대한 기본값을 설정할 수 있으며, 람다를 통해 기본값을 설정할 수 있습니다.

다음은 몇 가지 예입니다.

from collections import *                                                      
x = defaultdict(lambda:0) //默认值是0
print x[0]
y =defaultdict(lambda:defaultdict(lambda:0))//默认值是一个字典,字典的默认值是0
print y[0]
z = defaultdict(lambda:[0,0,0])//默认值是一个列表,[0,0,0].
print z[0]

출력 결과:

0
defaultdict(<function <lambda> at0x7f097797af50>, {})
[0, 0, 0]

위 내용은 Python의 람다 함수에 대한 간단한 분석(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제