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

파이썬에서 리스트의 모든 값이 주어진 숫자보다 큰지 확인하는 방법

이 튜토리얼에서는 파이썬에서 리스트의 모든 요소가 특정 숫자보다 큰지 확인하는 방법을 알아보겠습니다. 예를 들어 [1, 2, 3, 4, 5]라는 리스트와 숫자 0이 있을 때, 리스트의 모든 값이 주어진 값보다 크면 True를, 하나라도 작거나 같은 값이 존재하면 False를 반환하면 됩니다.

구현 난이도가 높지 않은 프로그램이니, 먼저 스스로 작성해 보는 것을 추천합니다. 해결책을 찾기 어렵다면 아래 단계를 따라 차근차근 작성해 보세요.

문제 해결 절차

  1. 리스트와 비교할 숫자를 초기화합니다.
  2. 리스트의 요소를 하나씩 순회(반복)합니다.
  3. 요소가 기준 숫자보다 작거나 같으면 즉시 False를 반환합니다.
  4. 순회가 끝날 때까지 조건에 걸리지 않았다면 모든 요소가 조건을 만족하므로 True를 반환합니다.

예제 코드 1: 반복문 사용

## 리스트 초기화
values = [1, 2, 3, 4, 5]
## 비교할 숫자
num = 0
num_one = 1

## 리스트의 모든 값이 num보다 큰지 확인하는 함수
def check(values, num):
    ## 리스트 순회
    for value in values:
        ## 값이 num보다 작거나 같으면 False 반환
        if value <= num:
            return False
    ## 루프가 정상적으로 종료되었다면 모든 값이 num보다 큰 것
    return True

print(check(values, num))
print(check(values, num_one))

위 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.

출력 결과

True
False

values의 모든 값은 0보다 크기 때문에 첫 번째 호출은 True를 반환하고, 1보다 큰지 검사했을 때는 1이라는 값이 포함되어 있으므로 False를 반환합니다.

예제 코드 2: all() 내장 함수 활용

더 파이썬다운(Pythonic) 방법으로는 all() 내장 함수를 사용하는 것이 있습니다. all() 함수는 반복 가능한 객체(iterable)의 모든 요소가 True일 때만 True를 반환하고, 하나라도 False가 있으면 False를 반환합니다. 이 함수를 활용하면 앞선 코드를 훨씬 간결하게 만들 수 있습니다.

## 리스트 초기화
values = [1, 2, 3, 4, 5]
## 비교할 숫자
num = 0
num_one = 1

## all() 함수로 모든 값이 num보다 큰지 확인하는 함수
def check(values, num):
    if all(value > num for value in values):
        return True
    else:
        return False

print(check(values, num))
print(check(values, num_one))

출력 결과

True
False

더 간결하게 작성하는 팁

all() 함수는 이미 불리언 값을 반환하므로 if-else 문 없이 아래처럼 한 줄로 처리할 수도 있습니다.

def check(values, num):
    return all(value > num for value in values)

또한 min(values) > num처럼 리스트의 최솟값을 기준 숫자와 비교하는 방법도 동일한 결과를 얻을 수 있는 대안입니다.

프로그램에 대해 궁금한 점이 있다면 댓글로 남겨주세요.