English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 프로그램에서는 딕셔너리와 리스트 이해를 사용하여 문자열 중 각 음절의 수를 계산하는 방법을 배웁니다.
이 예제를 이해하려면 다음을 알아야 합니다:Python 프로그래밍주제:
# 파이썬 프로그램은 각 모음의 수를 계산합니다 # 모음 문자열 vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' # casefold 메서드를 사용하여 문자열의 모든 대문자를 소문자로 변환합니다. ip_str = ip_str.casefold() # 모든 모음 문자를 키로 하여 값이 0인 딕셔너리 count = {}.fromkeys(vowels, 0) # 모음 개수 통계 for char in ip_str: if char in count: count[char] += 1 print(count)
출력 결과
{'o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3}
여기서, ip str에 저장된 문자열을 가져왔습니다. casefold() 메서드를 사용하여 대소문자를 구분하지 않는 비교에 적합하게 만듭니다. 기본적으로, 이 메서드는 문자열의 소문자 버전을 반환합니다.
우리는 fromkeys() 메서드를 사용하여 새 딕셔너리를 생성하고, 모든 모음을 키로 하여 모든 값이 0인 딕셔너리를 생성합니다. 이는 계산의 초기화입니다.
다음으로, 우리는for 루프입력 문자열을 탐색합니다.
각 반복에서, 문자가 딕셔너리 키에 있는지 확인합니다(모음이면 True입니다), True이면 값이 증가합니다1.
# 딕셔너리와 리스트 이해 ip_str = 'Hello, have you tried our tutorial section yet?' # 대소문자를 구분하지 않는 비교에 적합하게 만듭니다 ip_str = ip_str.casefold() # 모음 계산 count = {x:sum([1 for char in ip_str if char == x] for x in 'aeiou'} print(count)
이 프로그램의출력위와 같다.
여기서 우리는리스트내장된딕셔너리 목록에서,한 줄에서 모음을 계산하려면.
그러나 우리는 모든 모음을 전체 입력 문자열로 반복하여 이 프로그램의 속도가 느리다.