Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 튜플 목록에서 양수 요소만 포함된 튜플 찾기

튜플로 구성된 목록에서 모든 요소가 양수인 튜플만 골라내야 하는 경우, 리스트 컴프리헨션(list comprehension)과 내장 함수 all()을 함께 사용하면 간결하고 효율적으로 해결할 수 있습니다.

예제 코드

my_list = [(56, 43), (-31, 21, 23), (51, -65, 26), (24, 56)]

print("The list is : ")
print(my_list)

my_result = [sub for sub in my_list if all(elem >= 0 for elem in sub)]

print("The positive elements are : ")
print(my_result)

실행 결과

The list is :
[(56, 43), (-31, 21, 23), (51, -65, 26), (24, 56)]
The positive elements are :
[(56, 43), (24, 56)]

코드 설명

  • 양수와 음수가 섞여 있는 튜플들의 목록을 정의한 뒤, 콘솔에 출력합니다.

  • 리스트 컴프리헨션을 사용해 목록의 각 튜플을 하나씩 순회하며 검사합니다.

  • all() 함수를 통해 해당 튜플의 모든 요소가 0 이상인지 확인합니다.

  • 조건을 만족하는 튜플만 새로운 목록에 포함되어 변수에 저장됩니다.

  • 최종 결과 목록을 콘솔에 출력합니다.

핵심 포인트

all() 함수는 반복 가능한 객체(iterable)의 모든 요소가 참일 때 True를 반환합니다. 따라서 all(elem >= 0 for elem in sub)은 "튜플 내 모든 요소가 0 이상인가?"를 판별하는 조건으로 작동합니다. 음수가 하나라도 포함되어 있으면 False를 반환하므로, 해당 튜플은 결과 목록에서 자연스럽게 제외됩니다.

참고로 위 코드의 조건은 >= 0이므로 엄밀히 말하면 '양수'가 아닌 '음수가 아닌 수(0 포함)'를 기준으로 필터링합니다. 0을 제외하고 싶다면 조건을 elem > 0으로 변경하면 됩니다.