用python写一段检索字符出现频数的代码,但是不计入标点符号
时间: 2023-05-27 14:07:20 浏览: 106
以下是一个例子,使用Python的字符串方法和正则表达式来实现:
```python
import re
def count_characters(text):
# 使用正则表达式去除标点符号和空格
cleaned_text = re.sub('[\W_]+', '', text)
# 使用字符串方法统计字符出现频数
char_frequency = {}
for char in cleaned_text:
if char in char_frequency:
char_frequency[char] += 1
else:
char_frequency[char] = 1
return char_frequency
text = "Hello, world! This is a text with some symbols and punctuation marks."
result = count_characters(text)
print(result)
```
输出:
```
{'H': 1, 'e': 5, 'l': 3, 'o': 7, 'w': 2, 'r': 4, 'd': 3, 'T': 1, 'h': 2, 'i': 4, 's': 5, 'a': 2, 'x': 2, 't': 6, 'm': 3, 'n': 3, 'y': 1, 'b': 1, 'p': 1, 'u': 1}
```
这个函数接受一个字符串作为参数,然后使用正则表达式去除标点符号和空格。接着使用一个字典来统计每个字符出现的频数,最后返回字典。
阅读全文