在Python中查找字符串中有多少个不同的字母

时间:2013-03-07 22:32:52

标签: python string pangram

我对Python 3和编程很新。我试图找到一个算法,以找出一个句子是一个pangram。由于函数借助于字符串模块,我已经解决了讨价还价的那一面,但我还需要找出非pangrams中有多少不同的字母(已将它们切换为小写)。

非常欢迎任何帮助。

3 个答案:

答案 0 :(得分:3)

尝试查看字母组的长度:

len(set(yourstring))


In [8]: set('lowercase')
Out[8]: set(['a', 'c', 'e', 'l', 'o', 's', 'r', 'w'])

In [9]: len(set('lowercase'))
Out[9]: 8

不要忘记删除空格。

In [10]: len(set('The quick brown fox jumps over the lazy dog'.lower().replace(' ', '')))
Out[10]: 26

答案 1 :(得分:1)

如果您不想计算标点符号,请尝试以下操作:

s = "It's the economy, stupid!"
t = set(c.lower() for c in s if c.isalnum())
len(t) #returns 13

或者,如果您只想要信件:

s = "It's the economy, stupid!!!11!!"
t = set(c.lower() for c in s if c.isalpha())
len(t) #returns 13

答案 2 :(得分:0)

你可以试试这个:

s = 'The quick brown fox jumps over the lazy dog'
count = len(set(c.lower() for c in s if c != ' '))

此处,数量为26。