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

모음으로 시작하는 문자열을 받아들이는 파이썬 프로그램

문자열이 모음(vowel)으로 시작하는지 확인해야 하는 경우, 파이썬에서 제공하는 startswith 메서드를 활용하면 됩니다. 이 메서드는 특정 문자(여기서는 모음)로 문자열이 시작하는지 여부를 손쉽게 검사할 수 있게 해줍니다.

예제 코드

아래는 리스트에서 모음으로 시작하는 문자열만 골라내는 방법을 보여주는 예제입니다.

my_list = ["Hi", "there", "how", "are", "u", "doing"]

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

my_result = []
vowel = "aeiou"
for sub in my_list:
   flag = False

   for letter in vowel:
      if sub.startswith(letter):
         flag = True
         break
   if flag:
      my_result.append(sub)

print("The resultant string is : ")
print(my_result)

실행 결과

The list is :
["Hi", "there", "how", "are", "u", "doing"]
The resultant string is :
['are', 'u']

코드 설명

  • 먼저 문자열 리스트를 정의하고 콘솔에 출력합니다.
  • 결과를 저장할 빈 리스트 my_result를 선언합니다.
  • 모음들을 하나의 문자열 vowel("aeiou")로 정의합니다.
  • 리스트의 각 요소를 순회하면서 flag 변수를 False로 초기화합니다.
  • 각 문자열의 첫 글자가 모음 문자열의 어떤 글자와 일치하는지 startswith 메서드로 비교합니다.
  • 일치하는 경우 flagTrue로 설정하고 반복을 종료한 뒤, 해당 문자열을 결과 리스트에 추가합니다.
  • 최종적으로 모음으로 시작하는 문자열만 담긴 결과 리스트가 콘솔에 출력됩니다.

더 간결한 대안: 리스트 컴프리헨션

위 코드는 다음과 같이 리스트 컴프리헨션을 사용하면 훨씬 간결하게 작성할 수 있습니다.

vowel = "aeiou"
my_result = [sub for sub in my_list if sub[0].lower() in vowel]
print(my_result)  # ['are', 'u']

이 방식은 각 문자열의 첫 글자를 소문자로 변환한 뒤 모음 문자열에 포함되어 있는지만 확인하면 되므로, 코드가 짧아지고 가독성도 좋아집니다. 대소문자 구분 없이 처리하고 싶다면 .lower()를 활용하는 것이 좋습니다.