在 Python 中检查字符串是否包含元音
Check if a String contains Vowels in Python
检查字符串是否包含元音:
- 使用生成器表达式迭代字符串。
- 检查每个字符是否是元音。
- 如果任何字符满足条件,则该字符串包含元音。
主程序
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'} my_str = 'bobby' if any(char in vowels for char in my_str): # 👇️ this runs print('The string contains at least one vowel') else: print('The string does NOT contain any vowels') print(any(char in vowels for char in 'hadz')) # 👉️ True print(any(char in vowels for char in 'hdz')) # 👉️ False print(any(char in vowels for char in '')) # 👉️ False
我们使用生成器表达式来迭代字符串。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们使用in
运算符检查当前字符是否包含在元音中set
。
in 运算符
测试成员资格。
例如,如果是 的成员,则x in s
计算为 ,否则计算为。True
x
s
False
any函数接受一个可迭代对象作为参数,如果可迭代对象中的True
任何元素为真则返回。
主程序
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'} print(any(char in vowels for char in 'hadz')) # 👉️ True print(any(char in vowels for char in 'hdz')) # 👉️ False print(any(char in vowels for char in '')) # 👉️ False
如果字符串中的任何字符满足条件,则any()
函数返回True
并短路。
或者,您可以使用for
循环。
使用 for 循环检查字符串是否包含元音
检查字符串是否包含元音:
- 使用
for
循环遍历字符串。 - 检查每个字符是否是元音。
- 如果满足条件,则该字符串包含元音。
主程序
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'} def contains_vowels(string): for char in string: if char in vowels: return True return False print(contains_vowels('bobby')) # 👉️ True print(contains_vowels('hadz')) # 👉️ True print(contains_vowels('hdz')) # 👉️ False print(contains_vowels('')) # 👉️ False
我们使用for
循环来遍历字符串。
在每次迭代中,我们检查当前字符是否为元音。
如果满足条件,我们返回True
退出函数。
如果从未满足条件,则函数返回False
。
您可以使用相同的方法来获取字符串中包含的元音(如果有)。
主程序
vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'} my_str = 'abcde' vowels_in_string = [] for char in my_str: if char in vowels: print(f'{char} is a vowel') if char not in vowels_in_string: vowels_in_string.append(char) else: print(f'{char} is a consonant') # a is a vowel # b is a consonant # c is a consonant # d is a consonant # e is a vowel print(vowels_in_string) # 👉️ ['a', 'e']
我们使用not in
运算符来确保我们没有向vowels_in_string
列表中添加重复的元音。
x not in l
返回 的否定x in l
。list.append
()
方法将一个项目添加到列表的末尾。
主程序
my_list = ['bobby', 'hadz'] my_list.append('com') print(my_list) # 👉️ ['bobby', 'hadz', 'com']
如果您需要计算字符串中的元音,请创建一个以元音为键的字典。
主程序
vowels = 'aeiou' my_str = 'bobbyhadz.com' vowels_count = {vowel: my_str.lower().count(vowel) for vowel in vowels} print(vowels_count) # 👉️ {'a': 1, 'e': 0, 'i': 0, 'o': 2, 'u': 0} print(vowels_count['a']) # 👉️ 1 print(vowels_count['o']) # 👉️ 2
我们使用字典理解来迭代包含元音的字符串。
字典理解与列表理解非常相似。
他们对字典中的每个键值对执行一些操作,或者选择满足条件的键值对的子集。
str.count方法返回字符串中子
字符串的出现次数。
字典包含字符串中每个元音的vowels_count
出现次数。