Python - 仅在字符串中计算字母数量而忽略大小写

Sla*_*ast 1 python string

我试图找到一个字符串中每个字母的出现次数,忽略大小写,空格和特殊字符.做这个的最好方式是什么.

例如:

i/p: ABCccCDde :)! f

o/p: A=1, B=1, C=4, D=2, E=1
Run Code Online (Sandbox Code Playgroud)

我试过了

abc = Counter(line.rstrip('\n'))
Run Code Online (Sandbox Code Playgroud)

defaultdict而且他们也不会忽视案件.此外,我需要在不花太多时间的情况下清除特殊字符

div*_*ira 7

尝试

>>> abc = 'ABCccCDde :)! f'
>>> from collections import Counter
>>> Counter(c for c in abc.upper() if c.isalpha())
Counter({'C': 4, 'D': 2, 'A': 1, 'B': 1, 'E': 1, 'F': 1})
Run Code Online (Sandbox Code Playgroud)

  • 你可以输掉`[]` - `Counter`也会接受一个genexp. (2认同)