파이썬에서 주어진 범위 안에 속하는 요소들만 포함하는 튜플을 추출해야 할 때, filter와 lambda 메서드를 활용하면 간결하고 효율적으로 처리할 수 있습니다.
예제
아래는 이를 구현한 예제 코드입니다 −
my_list = [(13, 15, 17), (25, 56), (13, 21, 19 ), (44, 14)]
print("The list is :")
print(my_list)
beg, end = 13, 22
my_result = list(filter(lambda sub : all(element >= beg and element <= end for element in sub),
my_list))
print("The result is :")
print(my_result)출력 결과
The list is : [(13, 15, 17), (25, 56), (13, 21, 19), (44, 14)] The result is : [(13, 15, 17), (13, 21, 19)]
코드 설명
튜플들을 요소로 가지는 리스트를 정의하고 콘솔에 출력합니다.
범위의 시작값(beg)과 끝값(end)을 정의하여 기준을 설정합니다.
lambda 함수와 all() 연산자를 함께 사용하여, 튜플의 모든 요소가 시작값 이상이면서 끝값 이하인지 검사합니다.
조건을 만족하는 튜플만 filter() 메서드로 걸러낸 뒤, list()를 통해 리스트 형태로 변환합니다.
필터링된 최종 결과는 변수 my_result에 할당됩니다.
이 결과가 콘솔에 출력되며, 위 예제에서는 (13, 15, 17)과 (13, 21, 19) 두 개의 튜플이 조건을 충족합니다.