zoukankan      html  css  js  c++  java
  • 复合数据类型,英文词频统计

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753

    1.列表,元组,字典,集合分别如何增删改查及遍历。

    • 列表
     1 #创建一个列表
     2 list1 = ['a','b','c']
     3 
     4 # 访问列表中的值
     5 print("list1[0]:",list1[0])
     6 print("list1[1:5]:",list1[1:2])
     7 
     8 # 更新某元素的值
     9 print('更新列表前',list1)
    10 list1[1] = 'c'
    11 print('更新列表后',list1)
    12 
    13 # 删除元素
    14 print('删除列表元素前',list1)
    15 del list1[1]
    16 print('删除列表元素后',list1)
    17 
    18 # 增加元素
    19 print('增加列表元素前',list1)
    20 list1.append('d')
    21 print('增加列表元素后',list1)

    运行结果:

    • 元祖
    # 创建一个元祖
    tup1 = (1,2,3,4,5)
    
    # 访问元祖中的值
    print("tup1[0]:",tup1[0])
    print("tup1[1:4]:",tup1[1:4])
    
    #元祖的拼接
    tup2 = ('abc', 'xyz')
    tup3 = tup1 + tup2;
    print ('tup3',tup3)
    
    #元祖无法修改删除元素

    运行效果图:

    • 字典
    #创建字典
    dict1 = {'a':1,'b':2,'c':3}
    
    #访问字典里的值
    print("dict['a'] ",dict1['a'])
    
    # 修改字典元素
    print("修改字典元素前",dict1)
    dict1['a'] = 4
    print("修改字典元素后",dict1)
    
    # 删除字典元素
    print("删除字典元素前",dict1)
    del dict1['a']
    print("删除字典元素后",dict1)
    
    # 删除字典元素
    print("增加字典元素前",dict1)
    dict1['d'] = 5
    print("增加字典元素后",dict1)

    运行效果图:

    • 集合
    # 创建集合
    parame = {'a','b','c'}
    
    # 添加元素
    print("添加集合元素前",parame)
    parame.add('d')
    print("添加集合元素后",parame)
    
    # 删除元素
    print("删除集合元素前",parame)
    parame.remove('d')
    print("删除集合元素后",parame)

    运行效果图:

    
    

    2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:

    • 括号
    • 有序无序
    • 可变不可变
    • 重复不可重复
    • 存储与查找方式

    列表:特点就是可重复,有序,类型可不同,类型不同也是跟数组最基本的区别。

    元组:元组和列表在结构上没什么区别,唯一的不同就是元组是只读的。

    集合:集合最大的特点就是无序不重复。

    字典:特点是键值对储存数据,一般用于查询。

    3.词频统计

    • 1.下载一长篇小说,存成utf-8编码的文本文件 file

      2.通过文件读取字符串 str

      3.对文本进行预处理

      4.分解提取单词 list

      5.单词计数字典 set , dict

      6.按词频排序 list.sort(key=lambda),turple

      7.排除语法型词汇,代词、冠词、连词等无语义词

      • 自定义停用词表
      • 或用stops.txt

            8.输出TOP(20)

       9.可视化:词云

     排序好的单词列表word保存成csv文件

    import pandas as pd
    pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')

    线上工具生成词云:
    https://wordart.com/create

    # 停用词
    xclude = {'a','the','and','i','you','in','but','not','it','s','if','do'}
    import pandas as pd
    # 获取文本文件并进行替换标点符号处理函数
    def gettxt():
        sep = ".,:;?!-_'"
        txt = open(r'novel.txt','r',encoding='utf-8').read().lower()
        for ch in sep:
            txt = txt.replace(ch,'')
        return txt
    
    # 对文本进行切割筛选
    wordList = gettxt().split()
    wordset = set(wordList)-exclude
    
    #统计分词
    worddict = {}
    for w in wordset:
        worddict[w] = wordList.count(w)
        
    # 排序
    wordsort = list(worddict.items())
    wordsort.sort(key= lambda x:x[1],reverse=True )
    
    # 输出到文件
    pd.DataFrame(data = wordsort).to_csv(r'sort.csv',encoding='utf-8')

    统计的词频:

    生成的词云图:

  • 相关阅读:
    PPT中的图像失真
    Delphi GDI对象之绘制文本
    iOS App的加固保护原理
    PHP网站渗透中的奇技淫巧:检查相等时的漏洞
    企业安全建设之浅谈数据防泄露
    常见分布式全局唯一ID生成策略及算法的对比
    写时模式”与“读时模式”之间的对比
    工业互联网环境下IT/OT融合的安全防御技术研究
    一文梳理工业控制系统信息安全软件与监控
    威努特iSoc培训
  • 原文地址:https://www.cnblogs.com/grate/p/10539530.html
Copyright © 2011-2022 走看看