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

如何使用集合交集方法判断字符串是否为pangram(全字母句)及代码排错

Python全字母句判断问题解答

思路可行性

使用集合交集实现全字母句判断的思路完全可行,相比遍历计数的方案实现更简洁,效率也更高。

代码错误原因

  • 类型不匹配:你将交集计算结果转为list类型,直接和string.ascii_lowercase(字符串类型)做相等判断,不同类型的对象永远不相等,所以所有用例都会返回False。
  • 集合无序特性:即使你把alphabet也转为列表对比,也会因为集合是无序存储结构,转列表后的元素顺序和string.ascii_lowercase的a-z顺序不一致,相等判断依然会失败。

修正后的代码

直接对比两个集合的相等性即可,不需要转列表,完全符合你要使用集合交集的需求:

import string

def ispangram(str1, alphabet=string.ascii_lowercase):
    input_char_set = set(str1.lower())
    return input_char_set.intersection(set(alphabet)) == set(alphabet)

如果不强制要求用交集,也可以用更简洁的子集判断,效果完全一致:

def ispangram(str1, alphabet=string.ascii_lowercase):
    return set(alphabet).issubset(set(str1.lower()))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:24:01