You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python统计单词列表中含两个以上元音的复杂单词数量?

Python统计包含两个以上元音的单词数量

核心思路

  1. 定义元音集合(统一转小写处理,避免大小写干扰)
  2. 遍历单词列表,统计每个单词中的元音数量
  3. 筛选出元音数量大于2的单词,统计其总数

实现代码

基础版(分步清晰)

def count_complex_words(word_list):
    # 定义小写元音集合,统一转小写后匹配
    vowels = {'a', 'e', 'i', 'o', 'u'}
    complex_count = 0
    
    for word in word_list:
        # 单词转小写,消除大小写差异
        lower_word = word.lower()
        # 统计当前单词的元音数量
        vowel_count = sum(1 for char in lower_word if char in vowels)
        # 判断是否为复杂单词(元音数>2)
        if vowel_count > 2:
            complex_count += 1
    
    return complex_count

简洁版(列表推导式)

如果追求代码简洁,可直接用列表推导式筛选符合条件的单词,再取长度:

def count_complex_words(word_list):
    vowels = {'a', 'e', 'i', 'o', 'u'}
    return len([word for word in word_list if sum(1 for c in word.lower() if c in vowels) > 2])

使用示例

# 测试用单词列表
sample_words = ["apple", "banana", "cat", "elephant", "dog", "university", "PYTHON"]
print(count_complex_words(sample_words))  # 输出:3

解释:banana(3个元音)、elephant(3个元音)、university(4个元音)符合条件,共3个

注意事项

  • 大小写兼容:通过word.lower()统一转小写,确保A/a、E/e等都被正确统计
  • 特殊字符处理:如果单词包含标点(比如"hello!"),可先通过word.strip('.,!?')清理后再统计,根据实际需求调整
  • 空列表兼容:输入为空列表时,函数返回0,符合预期逻辑

内容的提问来源于stack exchange,提问作者Gopi Kishan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 03:45:34