我是靠谱客的博主 俊逸大树,最近开发中收集的这篇文章主要介绍夜光带你走进python开发 (三十九)传奇语言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

夜光序言:

倔强是最难改的脾气。

假如要改,也要倔强地去改。

不用改,只有倔强的人才温柔。

怎见得呢?

譬如说,穿着讲究,就是对自己的温柔。

 

 

正文:

1. 理解文本和二进制打开方式的区别

首先,用文本编辑器生成一个包含“中国是个伟大国家!”的 txt格式文本文件,命名为 test.txt。编写程序分别用文本文件方式和二进制文件方式读入,并打印输出效果。 观察输出结果并解释。 


2. 文件处理


fo = open(fname, "r") 
for line in fo: 
 # 处理一行数据 
fo.close() 

上述格式是打开文件并逐行处理的程序框架,请编写一个实例练习。


3. 哈姆雷特词频统计


Hamlet,《哈姆雷特》,是莎士比亚的一部经典悲剧作品,讲述了克劳狄斯叔叔谋害哈姆雷特父亲并篡取王位、哈姆雷特流浪在外并向叔叔复仇的故事。《哈姆雷特》也叫《王子复仇记》,代表着整个西方文艺复兴时期文学的最高成就,很多国内外电影都以这个故事为原型。 获取该故事的文本文件,保存为 hamlet.txt。全文可以从 MOOC 课程下载或从网络获得。 统计 Hamlet 英文词频的第一步是分解并提取英文文章的单词。同一个单词会存在大小写不同形式,但计数却不能区分大小写。假设Hamlet 文本由变量 txt 表示,可以通过 txt.lower()函数将字母变成小写,排除原文大小写差异对词频统计的干扰。英文单词的分割可以是空格、标点符号或者特殊符号。为统一分隔方式,可以将各种特殊字符和标点符号使用 txt.replace()方法替换成空格,再提取单词。 统计词频的第二步是对每个单词进行计数。假设将单词保存在变量word 中,使用一个字典类型 counts={},统计单词出现的次数采用如下代码: 
counts[word] = counts[word] + 1 
当遇到一个新词时,单词没有出现在字典结构中,则需要在字典中新建键值对: 
counts[new_word] = 1 
因此,无论词是否在字典中,加入字典 counts 中的处理逻辑可以统一表示为: 
if word in counts: 
 counts[word] = counts[word] + 1 
else: 
 counts[word] = 1 

或者,这个处理逻辑可以更简洁的表示为如下代码: 
counts[word] = counts.get(word,0) + 1 
字典类型的 counts.get(word,0)方法表示:如果 word在 counts中,则返回 word 对应的值,如果 word 不在 counts 中,则返回 0。 

该实例的第三步是对单词的统计值从高到低进行排序,输出前 10个高频词语,并格式化打印输出。由于字典类型没有顺序,需要将其转换为有顺序的列表类型,再使用 sort()方法和 lambda 函数配合实现根据单词次数对元素进行排序。最后输出排序结果前 10 位的单词。

items = list(counts.items()) #将字典转换为记录列表 
items.sort(key=lambda x:x[1], reverse=True) #以第 2 列排序 

 

 

采用函数对获取和整理文本进行封装

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最后

以上就是俊逸大树为你收集整理的夜光带你走进python开发 (三十九)传奇语言的全部内容,希望文章能够帮你解决夜光带你走进python开发 (三十九)传奇语言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部