我如何编写一个程序来计算字符串中的字母、数字和标点符号(分别)?
最佳答案
对于稍微更精简/更快的版本,还有
count = lambda l1,l2: sum([1 for x in l1 if x in l2])
例如:
count = lambda l1,l2: sum([1 for x in l1 if x in l2])
In [11]: s = 'abcd!!!'
In [12]: count(s,set(string.punctuation))
Out[12]: 3
使用集合应该可以让你的速度有所提升。
还取决于字符串的大小,我认为您也应该获得优于过滤器的内存优势。
关于python - 计算字符串中的字母数字和标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6969268/