문자열로 이루어진 리스트의 모든 요소가 숫자인지 확인해야 할 때, 파이썬의 내장 함수인 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를 활용한 형 변환 방식을 고려하는 것이 좋습니다.