import collections
import re
#读取tips.txt文件内容,type(mytips)=str
with open("tips.txt","r",encoding="utf-8") as tip:
mytips=tip.read().lower()
#正则去除非中英文字符,
strip_file=re.sub(r"\W+","",mytips)
print("正则去除非中英文字符:\n{}".format(strip_file))
print()
#筛选出所有英文单词
only_enlish=re.findall(r'[a-z]+',mytips)
print('筛选出所有英文单词:\n{}'.format(only_enlish))
#筛选出所有的中文
only_chinese=re.sub(r"[a-z1-9\W]+",'',mytips)
only_chinese_split=[c for c in only_chinese]
print('筛选出所有的中文\n{}'.format(only_chinese_split))
#如果most_common()参数为空,则按照从高频到低频依次全部打印
most_comm_word=collections.Counter(only_enlish).most_common(5)
print("打印频率最高的五个字符{}".format(most_comm_word))
#sorted(iterable,key,reverse=False)
low_comm_word=sorted(most_comm_word,key=lambda item:item[1])
print("反序输出most_comm_word{}".format(low_comm_word))
#filter(function,iterable)
specified_most_comm_word=list(filter(lambda item: True if item[1]<5 and item[1]>=3 else False,most_comm_word))
print("打印(大于等于3小于4)指定值的most_comm_word{}".format(specified_most_comm_word))
#转化成list取得word元素列表
dict_most_comm_word=dict(most_comm_word)
print('转化成字典:{}'.format(dict_most_comm_word))
#zip在python3中是惰性计算,需要转化成list
word,count=list(zip(*most_comm_word))
print('单独打印word:{}'.format(word))
print("单独打印count:{}".format(count))
#defaultdict简单应用
#分析单词出现的位置列表
enlish_dict=collections.defaultdict(list)
for k,v in enumerate(only_enlish):
enlish_dict[v].append(k)
print('统计每个单词出现的位置:{}'.format(enlish_dict))
#orderdict简单应用
#单词从a-z进行排序
order_english_dict=collections.OrderedDict(sorted(enlish_dict.items(), key=lambda i :i[0]) )
print('单词从a-z进行排序:\n{}'.format(order_english_dict))
python简单的分析文本
短信预约 -IT技能 免费直播动态提醒
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341