반응형

목차

  1. Key 매개 변수
  2. 콜백 함수

Key 매개 변수

Python에서 key 매개변수는 sorted(), min() 및 max()와 같은 특정 내장 목록 함수와 함께 사용되어 함수의 동작을 사용자 정의할 수 있습니다. 'key' 매개변수는 목록의 각 요소에서 비교 키를 추출하는 데 사용되는 함수를 사용합니다.

다음은 목록과 함께 key 매개변수를 사용하는 방법의 예입니다.

# 샘플 튜플 리스트
my_list = [(1, 'apple'), (4, 'banana'), (2, 'cherry'), (3, 'date')]

# 리스트를 각 튜플의 두 번째 요소를 기준으로 정렬
sorted_list = sorted(my_list, key=lambda x: x[1])
print("Sorted list:", sorted_list)
# Output: [(1, 'apple'), (4, 'banana'), (2, 'cherry'), (3, 'date')]

# 첫 번째 요소 중 최솟값을 가지는 튜플 찾기
min_element = min(my_list, key=lambda x: x[0])
print("Minimum element:", min_element)  # Output: (1, 'apple')

# 첫 번째 요소 중 최댓값을 가지는 튜플 찾기
max_element = max(my_list, key=lambda x: x[0])
print("Maximum element:", max_element)  # Output: (4, 'banana')

 


이 예에는 my_list 튜플 목록이 있습니다. key 매개변수와 함께 sorted(), min() 및 max() 함수를 사용하여 목록을 정렬하고 다양한 기준에 따라 최소 및 최대 요소를 찾습니다. 람다 함수를 키 매개변수로 사용하여 비교 기준을 지정합니다. 이 경우 비교를 위해 각 튜플의 첫 번째 또는 두 번째 요소를 추출합니다.

이 접근 방식은 비교 값을 추출하는 적절한 키 기능을 제공하는 한 사전, 개체 또는 기타 데이터 구조 목록에도 적용할 수 있습니다.


콜백 함수

콜백 함수는 다른 함수에 인수로 전달되어 다른 함수 내의 특정 지점에서 실행되는 함수입니다. 콜백 함수를 람다로 변환하려면 명시적 함수 정의를 동일한 기능을 가진 람다 식으로 바꿔야 합니다.

이를 보여주는 예는 다음과 같습니다.

먼저 다른 함수를 콜백으로 사용하는 간단한 함수와 콜백을 적용할 값을 생성해 보겠습니다.

def apply_callback(callback, value):
    return callback(value)


이제 숫자를 제곱하는 간단한 콜백 함수를 만들어 보겠습니다.

def square(x):
    return x * x


이 콜백 함수를 apply_callback() 함수와 함께 사용할 수 있습니다.

result = apply_callback(square, 4)
print(result)  # Output: 16


이제 square() 함수를 람다식으로 변환해 보겠습니다.

square_lambda = lambda x: x * x


이 람다 식을 apply_callback() 함수와 함께 콜백 함수로 사용할 수 있습니다.

result = apply_callback(square_lambda, 4)
print(result)  # Output: 16

 


보시다시피 square() 콜백 함수를 람다 식으로 성공적으로 변환하고 apply_callback() 함수와 함께 사용했습니다. 기능은 동일하게 유지되지만 람다 식을 사용하면 콜백 함수를 보다 간결하게 표현할 수 있습니다.

반응형