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

파이썬으로 모노 디지트(단일 자릿수) 요소 추출하는 방법

리스트에서 모든 자릿수가 동일한 숫자, 즉 모노 디지트(mono-digit) 요소를 추출해야 하는 경우가 있습니다. 이럴 때 리스트 컴프리헨션(list comprehension)all() 연산자를 함께 사용하면 간결하고 효율적으로 처리할 수 있습니다.

아래 예제를 통해 실제 구현 방법을 살펴보겠습니다.

예제 코드

my_list = [863, 1, 463, "pyt", 782, 241, "is", 639, 4, "fun"]

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

my_result = [index for index in my_list if all(str(element) == str(index)[0] for element in str(index))]

print("결과 리스트 :")
print(my_result)

실행 결과

원본 리스트 :
[863, 1, 463, 'pyt', 782, 241, 'is', 639, 4, 'fun']
결과 리스트 :
[1, 4]

코드 설명

  • 먼저 정수와 문자열이 섞여 있는 리스트를 정의하고 콘솔에 출력합니다.
  • 리스트 컴프리헨션을 사용해 리스트의 각 요소를 순회하면서, 해당 요소를 문자열로 변환한 뒤 각 자릿수가 첫 번째 자릿수와 일치하는지 검사합니다.
  • all() 함수는 내부 조건이 모두 참일 때만 True를 반환하므로, 모든 자릿수가 같은 값만 최종 결과에 포함됩니다.
  • 필터링된 결과는 변수에 저장되며, 이후 콘솔에 출력됩니다.

위 예제에서는 14처럼 한 자릿수로만 이루어진 숫자만 결과로 추출되었습니다. 반면 863, 463, 782, 241, 639처럼 여러 자릿수가 섞인 숫자나 'pyt', 'is', 'fun' 같은 문자열은 조건을 만족하지 못해 제외됩니다.

이 방식은 코드가 짧고 가독성이 좋아, 데이터 전처리 과정에서 특정 패턴의 숫자를 걸러낼 때 유용하게 활용할 수 있습니다.