我正在尝试使用计数器来计算我的字符串中有多少个字母,但我不能!我曾多次尝试过。 有人可以告诉我一种方法吗?
实施例: " Ebeneezer Scrooge是一个非常讨厌的男人"
对不起这个例子,你可以说什么......我只是想知道你是怎么做的
到目前为止我的代码:
Name = "Wayne Rooney is overpaid"
NumberOfLetters = 0
for Letters in Name:
Name.count(Letters + 1)
print(NoOfLetters)
答案 0 :(得分:0)
首先过滤来自可能的标点符号,空格和数字的字母,然后将它们连接成一个新的字符串letters
,如下所示,
import re
letters = ''.join(re.findall("[a-zA-Z]+", Name))
然后计算字母出现的总数,
len(letters)
并且用于计算letters
中出现的不同字母的数量,例如,考虑
len( set(letters) )
答案 1 :(得分:0)
>>> 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
答案 2 :(得分:-2)
from collections import Counter
name = "Wayne Rooney is overpaid"
print (sum(Counter("".join(name.split())).values()))
Counter
方法对字符串进程很有用,它返回一个dict。先检查一下;
print (Counter(name))
您会看到包含keys=letters
,values=counts of that letters
的词典。基本上将这些值相加,但使用split()
删除字母之间的空格。