VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 女朋友说异性相吸,所以产生真爱!我觉得得用python验证一下

这次不是因为电影,是因为电视剧《鬼吹灯》!不得不说拍得还是很不错的,选角合适,特效逼真,画面精美,连刷9集!
女朋友看完以后竟然说“胡八一和Shirley妥妥的真爱!”,因为异性相吸,必然是真爱!
不得不说男女之间还是有差异的,关注点完全不同呀!
Shirley才出来几分钟呀?满打满算也就5分钟吧,怎么就看出来“妥妥的真爱”?
鬼吹灯的8本书里,明显胡八一的“真爱”明明应该是王胖子才对呀!陪伴才是真呀!

 

看来只有继续用数据说话,让她在数据面前颤抖吧!
“真爱”:真爱是一个汉语词语,拼音是zhēn ài,指纯粹真诚的情感。之所以叫“真”,即真诚和真实,其是它最基本的基础。它绝不建立在欺骗和幻想之上。真爱,或许每个人都有自己的看法。广义的真爱,与性别无关,与民族无关,与国家无关,与宗教无关,与种族无关。
——来源:百度百科“真爱”词条

Python代码如下:

复制代码
"""
当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 
学习Python中有不明白推荐加入交流Q群号:928946953 
群里有志同道合的小伙伴,互帮互助, 群里有不错的视频学习教程和PDF!
还有大牛解答!
"""
import jieba    #导入jieba库,以便于使用分词
txt = open("鬼吹灯.txt","r",encoding='utf-8').readlines()    #使用open函数打开文件,把文本信息传递给变量txt
txt = "".join(txt)    #将变量txt由列表list类型转换为jieba库分词时需要使用的字符串str类型
words = jieba.lcut(txt)    #利用jieba库中的lcut()函数来将变量txt中文本进行分词操作,然后将结果传递给变量words
print(words)
counts = {}    #定义一个空的字典给变量counts,以用来接收数据进行统计
stop_txt = open("停用词.txt","r",encoding='utf-8').readlines()    #使用open函数打开停用词文件,把文本信息传递给变量stop_txt
stop_txt = "".join(stop_txt)    #将停用词转变为str格式
stop_words = jieba.lcut(stop_txt)    #停用词进行分词处理
#stopwords = [line.strip() for line in open("停用词.txt").readlines()]
print(stop_words)
for word in words:     #利用for语句来依次循环获得列表words中的值,并用word来接收
    if word not in stop_words:    #如果这个词word没有在停用词里面的话,进行下面的语句:
        if len(word) == 1:    #如果,这个词出现的次数是1次,那么执行下边的语句:
            continue    #continue语句,跳过循环体中剩余的语句并到循环末尾而强行执行下一次循环
        else:    #如果,这个词出现的次数不是1,那么执行下边的语句:
            counts[word] = counts.get(word,0) + 1     #将代码进行合并,减少代码量,在字典中查找键值word中存储的词,没有的话自动创建这个词为键值,并赋予其对应的值为0,之后再无作用,然后将查询到的词对应的数字+1
 
counts_items = counts.items()    #将字典dict类型变为字典列表dict_items类型,字典中的键值和对应的值变为字典列表中的数据,并将数据传递给变量counts_items
counts_list = list(counts_items)    #将变量counts_items由dict_items类型转变为list类型,并用变量counts_list来接收
counts_list.sort(key=lambda x:x[1],reverse=True)    #对变量counts_list列表进行排序,key= lambda x:x[1]代表以对象中第二维数据的值进行排序,(lambda用于匿名函数,可以免去命名函数的麻烦),reverse=True代表降序排列,若为False则代表升序排列
for i in range(10):#展示排名前10的词
    word,count = counts_list[i]
    print("{0:<10}{1:>5}".format(word,count))    #冒号是引导符,后面跟的是格式控制方法。<表示左对齐,>表示右对齐,数字表示宽度。<10表示左对齐,并占10个位置,>5表示右对齐,占5个位置。
复制代码

 

词频排序前十运行结果:
我们 4448
胖子 4421
什么 3446
Shirley 2416
没有 2414
一个 2067
就是 1920
咱们 1788
已经 1737
东西 1615
胖子出场次数4421次,Shirley出场次数2416次!
差不多能有2倍了,所以我觉得胡八一的“真爱”应该是王胖子,毕竟陪伴才是真爱啊!
没事多陪陪自己的女朋友吧,少敲点Python代码吧!

出处:https://www.cnblogs.com/pythonQqun200160592/p/15185802.html


相关教程