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

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

    作业要求:

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

    •  列表

     增

    cm = ['Manry','kimi','tony','张三']
    cm.append('在末尾增加一个字符')
    cm
    
    cm = ['Manry','kimi','tony','张三']
    cm.insert(1,'在指定位置增加一个字符')
    cm

    运行结果:

     删

    cm = ['Manry','kimi','tony','张三','删除最后一个字符']
    cm.pop()
    cm
    
    cm = ['Manry','kimi','tony','张三','删除指定字符']
    cm.pop(1)
    cm

    运行结果:

     改

    cm = ['Manry','kimi','tony','张三']
    cm[1]=('修改指定位置字符')
    cm

    运行结果:

     查

    cm = ['Manry','kimi','tony','张三','34','Tom','Jary']
    print(cm[1])#查找下标为1的字符
    print(cm[-1])#查找最后一位字符
    print(cm[1:2])#查找下标为1和2之间的字符
    print(cm[3:])#查找下标为3及之后的字符
    print(cm[:2])#查找下标为2之前的字符
    print(cm[:6:2])#查找下标为6之前每隔2位的字符
    print(cm[:])#查找所有字符

    运行结果:

    遍历 

    cm = ['Manry','kimi','tony','张三','34','Tom','Jary']
    print(len(cm))
    for cm1 in cm:
        print(cm1)

    运行结果:

    • 元组
    tup1=('张三','Tom','zqq','1996')
    tup2=('许嵩','vae')
    print(tup1+tup2)

    运行结果:

    元组不可以修改或单个删除元素。

    • 字典

    dict={'张三':'1998','Tom':'2000','zqq':'1996'}
    dict['vae']='1986'
    dict

    运行结果:

    dict={'张三':'1998','Tom':'2000','zqq':'1996'}
    del dict['张三']
    dict

    运行结果:

    dict={'张三':'1998','Tom':'2000','zqq':'1996'}
    dict['张三']='2019'
    dict

    运行结果:

    dict={'张三':'1998','Tom':'2000','zqq':'1996'}
    print('张三的值为:',dict['张三'])
    print('字典元素为:',dict)

    运行结果:

    • 集合

    aa={'张三','许嵩','vae','zqq','Tom','Jary'}
    aa.add('lisa')
    aa

    运行结果:

    aa={'张三','许嵩','vae','zqq','Tom','Jary','remove删除集合元素'}
    aa.remove('remove删除集合元素')
    aa
    
    aa={'张三','许嵩','vae','zqq','Tom','Jary','pop删除集合元素'}
    aa.pop()
    aa

    运行结果:

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

    • 括号

             列表是以方括号形式表示,元组是以圆括号表示,字典以花括号表示,集合则是以[()]的形式表示。

    • 有序无序

             列表,元组,字典是有顺序的,而集合是没顺序的。

    • 可变不可变

              元组和列表在结构上没有什么区别,唯一的差异在于元组是只读的,不能修改。元组用“()”表示。元组一旦定义其长度和内容都是固定的。一旦创建元组,则这个元组就不能被修改,即不能对元组进行更新、增加、删除操作。若想创建包含一个元素的元组,则必须在该元素后面加逗号“,”,否则创建的不是一个元组,而是一个字符串。

    • 重复不可重复

               列表,元组,字典可重复,而集合是不可重复的。

    • 存储与查找方式

               列表和元组通过值存储,集合通过键(不可重复)存储,字典通过键值对(不可重复)存储。

    3.词频统计   

    import string
    import pandas as pd
    
    '''定义获取文件并处理函数'''
    def gettext():
        txt = open("God is a girl.txt").read().lower()
    
        for c in string.punctuation:
            txt = txt.replace(c, " ")
        return txt
    
    '''将文本分成单词'''
    txtDC=gettext().split( )
    
    '''过滤无意词'''
    ex = {'a','an','and','was','as','it','his','he','we','the','you','in','on','but','with','not','of','for','are','is'}
    txtSet=set(txtDC)-ex
    
    '''单词统计'''
    txtDic = {}
    for word in txtSet:
        txtDic[word] = txtDC.count(word)
    
    '''排序'''
    wordList = list(txtDic.items())
    wordList.sort(key=lambda x:x[1],reverse=True)
    
    '''输出top20'''
    for i in range(20):
        print(wordList[i])
    
    '''保存为csv文件'''
    pd.DataFrame(data=wordList).to_csv('My story.csv',encoding='utf-8')

    God is a girl.txt

       

    输出TOP(20)

    可视化词云

     

    import pandas as pd pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')
    线上工具生成词云: https://wordart.com/create

    作业博客要求:

    • 文字作业要求言简意骇,用自己的话说明清楚。
    • 编码作业要求放上代码,加好注释,并附上运行结果截图。
  • 相关阅读:
    js 模拟表单提交下载文件
    vue 刷新子组件方法解决使用v-if闪屏问题
    Java15-Tomcat&Servlet&HTTP&Request&Response
    JAVA26-SpringBoot-在线教育项目01
    20 Vue-ajax
    19 Vue-JQuery
    18 Vue-Json
    Java 20-Mybatis学习
    17 Vue-ES6语法之Promise、VueX、网络请求封装
    16 Vue-cli脚手架介绍与使用
  • 原文地址:https://www.cnblogs.com/zhangqianqian/p/10538710.html
Copyright © 2011-2022 走看看