我正在尝试查找字符串是否为Pangram。我的方法是通过使用set方法使字符串具有唯一的字母。然后使用string.ascii作为基本字母。经过一些测试,我发现如果尝试将2与“ in”运算符进行比较。有些字母会被忽略,因此不会从字母列表中删除。
def is_pangram(sentence):
uniqueLetters = set(sentence.lower().replace(" ", ""))
alphabet = list(string.ascii_lowercase)
for letter in alphabet:
if letter in uniqueLetters:
alphabet.remove(letter)
if len(alphabet) <= 0:
return True
return False
print(is_pangram("qwertyuiopasdfghjklzxcvbnm"))
此示例将比较13个字母,其余部分将不比较。任何人都可以指出正确的方向吗?我误会了一些关于场景的东西吗?
答案 0 :(得分:2)
也许以下是您想要的:
import string
target = set('qwertyuiopasdfghjklzxcvbnm')
all((k in target for k in set(string.ascii_lowercase)))