Python将列表与设置进行比较以查找Pangram

时间:2019-03-12 17:18:11

标签: python

我正在尝试查找字符串是否为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个字母,其余部分将不比较。任何人都可以指出正确的方向吗?我误会了一些关于场景的东西吗?

1 个答案:

答案 0 :(得分:2)

也许以下是您想要的:

import string
target = set('qwertyuiopasdfghjklzxcvbnm')
all((k in target for k in set(string.ascii_lowercase)))