Python如何不区分大小写移除字符?简化元音移除代码方案
简化移除字符串中大小写元音的代码写法
不用额外加判断大写元音的分支,有两种简洁的写法可以一次性处理大小写元音:
方法1:统一转小写判断,用列表推导式
把每个字符转成小写后判断是否属于元音,不管输入是大写还是小写元音,都能统一过滤掉,代码如下:
# 定义元音集合(小写即可) vowels = {'a', 'e', 'i', 'o', 'u'} user_input = input("请输入字符串:") # 遍历每个字符,只保留非元音字符 result = ''.join([char for char in user_input if char.lower() not in vowels]) print(result)
方法2:用str.translate批量移除
Python的str.maketrans可以创建字符转换表,配合translate方法直接批量移除所有指定的大小写元音,代码更简洁高效:
user_input = input("请输入字符串:") # 创建转换表,移除所有大小写元音 vowel_table = str.maketrans('', '', 'aeiouAEIOU') result = user_input.translate(vowel_table) print(result)
这两种写法都不用单独处理大写元音的分支,直接覆盖所有情况,代码比原来的分支判断简洁太多。
内容的提问来源于stack exchange,提问作者corrie_in_the_house
相关产品推荐
相关产品推荐

