问题引入:
问题解决:
1.用re模块
import re
d = {}
with open("E:\sample.txt", encoding = "utf-8") as f:
for line in f:
tmp = line.lower().strip() # 对一行字符串进行小写转换并切割两头空白符
lst = re.split('[ .(),=:"»~>*]', tmp)
for s in lst:
# if s not in d.keys():
# d[s] = 1
# else:
# d[s] += 1
d[s] = d.get(s, 0) + 1 # 经改进
print(sorted(d.items(), key=lambda x:x[1], reverse=True)) # 利用key参数使字典**按值排序**
2.替换特殊分隔字符为空白字符
d = {}
def makekey(s:str):
"""遍历传入字符串s的每个字符,如果出现特殊字符则用空白字符替换,将这些字符分割转换为最简单的空白字符分隔"""
special_chars = set('.,-