혼자보기위한python🌘람다1️⃣

이풀싹·2023년 4월 26일
0

파이썬_BASIC

목록 보기
1/13

1️⃣

람다(lambda)는 파이썬에서 함수를 간단하게 정의하는 방법 중 하나입니다. 일반적으로 람다는 이름이 없는 익명 함수로 사용되며, 함수의 입력과 출력을 정의할 수 있습니다.

람다 함수는 lambda 키워드를 사용하여 정의합니다. 일반적으로 다음과 같은 구문으로 작성됩니다:

lambda arguments: expression

여기서 arguments는 함수의 입력 인수를 나타내며, expression은 함수의 반환값을 계산하는 식입니다.

예를 들어, 다음은 lambda 함수를 사용하여 두 개의 숫자를 더하는 예제입니다:

result = sum(3, 4)
print(result)  # 7

위 예제에서 lambda 함수는 x와 y라는 두 개의 입력 인수를 받으며, x + y를 계산하여 반환합니다. 이후 sum 변수에 람다 함수를 할당하고, sum 함수를 호출하여 결과를 출력합니다.


    for i in range(10):
        func()

def print_hello():
    print("안녕하세여")

call_10_times(print_hello)  # 매개변수로 함수를 전달합니다.

💛func()함수를 호출하는 방법 중 하나입니다. 함수를 정의한 후에는 func()와 같이 괄호를 사용하여 함수를 호출할 수 있습니다. 함수 호출은 함수 내의 코드 블록을 실행하는 것을 의미합니다.

함수를 호출할 때 인수(argument)를 전달할 수도 있습니다. 인수는 함수의 정의에서 지정한 매개변수(parameter)에 전달됩니다. 예를 들어, 다음과 같은 함수를 정의하고 호출할 수 있습니다:

(✿◡‿◡)❤

💛greet() 함수는 name 매개변수를 받아서 "Hello, "와 name을 조합하여 출력합니다. 이후 greet() 함수를 "Alice"와 "Bob" 인수와 함께 호출하여 각각 "Hello, Alice!"와 "Hello, Bob!"을 출력합니다.

def greet(name):
    print("Hello, " + name + "!")
greet("Alice")
greet("Bob")

filter()함수와 map()함수는 파이썬의 내장 함수(=표준함수)로, 리스트 등의 시퀀스 자료형에 대해 특정한 연산을 적용하는 함수입니다.

filter(function, iterable)

💙filter() 함수는 시퀀스 자료형의 각 요소를 순회하면서, 특정 조건을 만족하는 요소들만 걸러내어 새로운 리스트를 반환합니다. function은 시퀀스 자료형의 각 요소에 대해 적용할 함수를 나타내며, iterable은 순회할 시퀀스 자료형을 나타냅니다. function 함수는 각 요소를 인수로 받아, True 또는 False 값을 반환해야 합니다.

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # [2, 4, 6]

💙map() 함수는 시퀀스 자료형의 각 요소에 대해 특정 함수를 적용한 결과를 새로운 리스트로 반환합니다.

map(function, iterable)

numbers = [1, 2, 3, 4, 5, 6]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)  # [1, 4, 9, 16, 25, 36]
def power(item):
    return item*item
def under_3(item):
    return item<3

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

output_a=map(power,list_input)
print(output_a)
output_b=list(map(power,list_input))
print(output_b)

output_c=filter(under_3,list_input)
print(output_c)
output_d=list(filter(under_3,list_input))
print(output_d)


def power(item):
    return item*item
def under_3(item):
    return item<3
# 위의  def 로 선언했던 함수를 lamda로 바꾸고, return 키워드를 따로  쓰지 않았다는 차이가 있습니다. 
power=lambda x:x*x
under=lambda x:x<3  

🤎 인라인 람다 함수를 한 줄로 간단하게 작성하는 것을 의미합니다. 인라인 람다 함수는 주로 map(), filter(), reduce()와 같은 함수와 함께 사용되며, 간단한 함수를 한 줄로 작성할 때 유용합니다.

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

output_a=list(map(lambda x:x*x,list_input_a))
print(output_a)
output_b=list(filter(lambda x:x<3,list_input_a))
print(output_b)

0개의 댓글