Python에서 for 루프와 함께 Lambda 함수 사용

Isaac Tony 2022년1월23일
Python에서 for 루프와 함께 Lambda 함수 사용

Lambda 함수 또는 익명 함수는 이름이 없는 Python 함수입니다. 이러한 함수는 전통적으로 Python에서 일반 함수를 정의하는 데 사용되는 def 키워드와 달리 람다 키워드를 사용하여 생성됩니다.

람다 함수는 일반 함수에 비해 크기가 작을 뿐만 아니라 몇 가지 차이점도 있습니다. 가장 중요한 것은 명시적으로 정의된 return 문이 없고 하나의 표현식으로만 제한된다는 것입니다.

그럼에도 불구하고 람다 함수는 일반 Python 함수와 마찬가지로 여러 인수를 허용합니다.

Python에서는 아래와 같이 Lambda 함수를 구현할 수 있습니다.

lambda arguments: expressions:

Lambda 함수는 다른 함수에서 인수로 사용되는 함수 객체를 생성해야 할 때 사용됩니다.

Lambda의 힘은 map()과 같은 고차 함수와 함께 사용할 때 특히 분명합니다. 이러한 함수는 다른 함수 객체를 인수로 받아들입니다.

또한 람다 함수를 사용하여 짧은 시간 동안만 익명 함수가 필요한 작업을 수행할 수도 있습니다. 이에 대한 좋은 예는 for 루프와 함께 람다 함수를 사용하여 iterable의 모든 요소에 대해 특정 작업을 수행하는 것입니다.

아래 프로그램은 for 루프를 사용하여 숫자 목록을 반복하는 방법을 보여줍니다. 이 경우 람다 함수가 증분기로 사용됩니다.

nums1 = [45, 46, 47, 48, 50]
nums2 = []

for i in nums1:

    def x(i):
        return i + 1

    nums2.append(x(i))
print(nums2)

출력:

[46, 47, 48, 49, 51]

for 루프는 튜플, 문자열, 사전 및 집합과 같은 다른 시퀀스를 반복하는 데 사용할 수 있습니다. 람다 함수는 하나의 표현식만 가질 수 있지만 사용할 수 있는 데이터 유형에는 제한이 없습니다.

아래 예제는 for 루프와 람다 함수를 사용하여 문자열 목록을 반복하는 방법을 보여줍니다.

fruits = ["mango", "apple", "melon", "pineapple"]
fruits_upper = []

for fruit in fruits:

    def x(fruit):
        return fruit.upper()

    fruits_upper.append(x(fruit))
print(fruits_upper)

출력:

['MANGO', 'APPLE', 'MELON', 'PINEAPPLE']

Lambda 함수는 for 루프와 함께 사용하여 람다 객체 목록을 생성할 수 있습니다. 이러한 객체를 사용하여 for 루프를 사용하여 반복 가능한 요소에 대한 작업을 수행할 수 있습니다.

이는 특히 런타임 오류 없이 동시에 변경을 수행하면서 반복 가능한 개체를 반복하려는 의도인 경우에 유용합니다.

list = [1, 2, 3, 4, 5]


def add_two(x):
    return lambda: x + 2


list = [add_two(i) for i in list]

for element in list:
    print(element())

출력:

3
4
5
6
7
작가: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

관련 문장 - Python Lambda Function

관련 문장 - Python Loop