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

파이썬으로 문자열 리스트의 모든 요소가 숫자인지 확인하는 방법

문자열로 이루어진 리스트의 모든 요소가 숫자인지 확인해야 할 때, 파이썬의 내장 함수인 all()을 활용하면 매우 간단하게 처리할 수 있습니다. all()은 반복 가능한 객체(iterable)의 모든 요소가 참(True)일 경우에만 True를 반환하며, 이 성질을 이용해 리스트 전체의 조건을 한 번에 검사할 수 있습니다.

예제 코드

다음은 문자열 리스트의 모든 요소가 숫자인지 확인하는 파이썬 프로그램입니다.

my_list = ["434", "823", "98", "74", '9870']

print("리스트 :")
print(my_list)

my_result = all(ele.isdigit() for ele in my_list)

if(my_result == True):
   print("리스트의 모든 요소가 숫자입니다")
else:
   print("리스트의 모든 요소가 숫자는 아닙니다")

출력 결과

리스트 :
['434', '823', '98', '74', '9870']
리스트의 모든 요소가 숫자입니다

코드 설명

  • 숫자로만 이루어진 문자열들을 담은 리스트를 정의하고, 콘솔에 출력합니다.

  • all() 함수와 제너레이터 표현식을 함께 사용하여 리스트의 모든 요소가 숫자인지 검사합니다.

  • 각 요소의 숫자 여부는 문자열 메서드인 isdigit()을 통해 판별합니다. 이 메서드는 해당 문자열이 숫자로만 구성되어 있으면 True를 반환합니다.

  • 검사 결과는 변수 my_result에 저장됩니다.

  • 결과의 불리언 값(True/False)에 따라 조건문이 실행되며, 그에 맞는 메시지가 콘솔에 출력됩니다.

참고 사항

all() 함수는 빈 리스트에 대해서도 True를 반환한다는 점에 유의해야 합니다. 또한 음수 기호(-)나 소수점(.)이 포함된 문자열은 isdigit()에서 False를 반환하므로, 부호나 소수점을 포함한 숫자까지 검사해야 한다면 정규표현식(regex)이나 try-except를 활용한 형 변환 방식을 고려하는 것이 좋습니다.