在Python中查找字符串中不同字母的数量

3 投票
3 回答
903 浏览
提问于 2025-04-17 18:20

我刚开始学习Python 3和编程。现在我想找一个算法来判断一个句子是否是一个“全字母句”。我已经用字符串模块写了一个函数,解决了这个问题,但我还想知道在不是全字母句的情况下,有多少个不同的字母(我已经把字母都转换成小写了)。

任何帮助都会非常感谢。

3 个回答

0

你可以试试这个:

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

在这里,count的值将是26。

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
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

撰写回答