如何计算字符串中的字母

2024-09-24 02:24:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用一个计数器来计算我的字符串中有多少个字母,但我做不到!我试了很多次。 有人能告诉我怎么做吗?在

示例: “埃比尼泽·斯克鲁奇是个很讨厌的人”

抱歉举个例子,你可以说任何。。。我只想知道你是怎么做到的

目前我的代码:

Name = "Wayne Rooney is overpaid"
NumberOfLetters = 0
for Letters in Name:
Name.count(Letters + 1)
print(NoOfLetters)

Tags: 字符串代码namein示例foris字母
3条回答

首先过滤可能的标点符号、空格和数字中的字母,并将它们连接成一个新的字符串letters,如下所示:

import re
letters = ''.join(re.findall("[a-zA-Z]+", Name))

然后计算字母出现的总数

^{pr2}$

{考虑在cd1>中出现的不同的字母数

len( set(letters) )
>>> import string
>>> print string.printable[10:62]
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
>>> a
'this is a string with some letters 1010'
>>> letters = 0
>>> for i in a:
...     if i in string.printable[10:62]:
...             letters += 1
... 
>>> print letters
28
from collections import Counter

name = "Wayne Rooney is overpaid"

print (sum(Counter("".join(name.split())).values()))

Counter方法用于字符串处理,它首先返回dict.Check

^{pr2}$

您将看到一个带有keys=lettersvalues=counts of that letters的dict。基本上是求和这些值,但使用split()删除字母之间的空格。在

相关问题 更多 >