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

파이썬으로 리스트에서 모음으로 시작하는 단어 추출하기

리스트에서 모음으로 시작하는 단어를 추출해야 하는 경우, 간단한 반복문과 플래그(flag) 변수, 그리고 'startswith' 메서드를 활용하면 손쉽게 해결할 수 있습니다.

아래는 그 구현 예시입니다.

예제 코드

my_list = ["abc", "phy", "and", "okay", "educate", "learn", "code"]
print("The list is :")
print(my_list)
my_result = []
my_vowel = "aeiou"
print("The vowels are ")
print(my_vowel)
for index in my_list:
   my_flag = False
   for element in my_vowel:
      if index.startswith(element):
         my_flag = True
         break
   if my_flag:
      my_result.append(index)
print("The result is :")
print(my_result)

실행 결과

The list is :
['abc', 'phy', 'and', 'okay', 'educate', 'learn', 'code']
The vowels are
aeiou
The result is :
['abc', 'and', 'okay', 'educate']

코드 설명

  • 문자열 리스트를 정의하고 콘솔에 출력합니다.

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

  • 모음 문자열 'aeiou'를 정의하고 콘솔에 출력합니다.

  • 리스트를 순회하면서 각 단어마다 플래그 변수를 불린(Boolean) 값 'False'로 초기화합니다.

  • 'startswith' 메서드를 사용해 해당 단어가 모음 문자 중 하나로 시작하는지 확인하고, 조건이 참이면 플래그 값을 'True'로 설정합니다.

  • 조건이 충족되면 'break' 문으로 내부 루프를 즉시 빠져나가 불필요한 비교를 줄입니다.

  • 플래그 값이 'True'인 경우, 해당 요소를 결과 리스트에 추가(append)합니다.

  • 모든 순회가 끝나면 최종 결과가 콘솔에 출력됩니다.

더 간결한 대안

'startswith' 메서드는 튜플을 인자로 받을 수 있기 때문에, 위 코드를 다음과 같이 한 줄의 리스트 컴프리헨션으로 더욱 간결하게 작성할 수도 있습니다.

my_result = [word for word in my_list if word.startswith(("a", "e", "i", "o", "u"))]
print(my_result)

이 방식은 별도의 플래그 변수 없이도 동일한 결과 ['abc', 'and', 'okay', 'educate']를 얻을 수 있으며, 코드 가독성과 유지보수성 측면에서 더 권장됩니다.