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

Python – 튜플 리스트에서 모든 요소가 대문자인 항목만 필터링하는 방법

튜플로 이루어진 리스트에서 모든 문자가 대문자로만 구성된 요소를 걸러내야 하는 경우, 간단한 반복문과 불리언(Boolean) 값, 그리고 append 메서드와 isupper 메서드를 활용하면 손쉽게 해결할 수 있습니다.

예제 코드

다음은 튜플 리스트에서 모든 요소가 대문자인 항목만 추출하는 과정을 보여주는 예제입니다.

my_list = [("PYTHON", "IS", "Fun"), ("PYTHON", "COOl"), ("PYTHON", ), "ORIENTED", "OBJECT"]

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

my_result_list = []
for sub_list in my_list:
    my_result = True
    for element in sub_list:

        if not element.isupper():
            my_result = False
            break

    if my_result:

        my_result_list.append(sub_list)

print("The resultant list is : ")
print(my_result_list)

출력 결과

The list is :
[('PYTHON', 'IS', 'Fun'), ('PYTHON', 'COOl'), ('PYTHON',), 'ORIENTED', 'OBJECT']
The resultant list is :
[('PYTHON',), 'ORIENTED', 'OBJECT']

코드 설명

  • 튜플과 문자열이 섞여 있는 리스트를 정의하고 콘솔에 출력합니다.

  • 필터링된 결과를 저장할 빈 리스트를 생성합니다.

  • 외부 반복문으로 원본 리스트를 순회하며, 매번 불리언 변수를 True로 초기화합니다.

  • 내부 반복문에서 각 요소에 대해 isupper() 메서드를 호출하여 대문자 여부를 검사합니다.

  • 요소 중 하나라도 대문자가 아니면 불리언 값을 False로 설정한 뒤, break 문으로 내부 반복문을 즉시 종료합니다.

  • 내부 반복이 끝난 후에도 불리언 값이 True로 남아 있다면, 해당 항목의 모든 요소가 대문자라는 의미이므로 결과 리스트에 추가(append)합니다.

  • 마지막으로 필터링된 최종 리스트를 콘솔에 출력합니다.


참고: 파이썬의 isupper() 메서드는 문자열에 포함된 모든 영문자가 대문자이고, 대소문자를 구분하는 문자가 최소 하나 이상 존재할 때 True를 반환합니다. 따라서 'Fun'이나 'COOl'처럼 소문자가 섞여 있는 문자열은 자동으로 제외되며, 실행 결과에서 볼 수 있듯이 ('PYTHON',), 'ORIENTED', 'OBJECT' 세 개의 항목만 남게 됩니다.