• 复合数据类型,英文词频统计


    作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696

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

    列表:

    list=['Mon','Tues','Wednes','Thurs']
    print ('原始列表为 : ', list)
    list.insert(2,'haha')
    '''在Tues后面插入haha'''
    print ('列表插入元素后为 : ', list)
    del list[2]
    '''删除haha'''
    print ('列表删除元素后为 : ', list)
    list[0]='sun'
    '''修改列表第一个元素'''
    print ('列表修改元素后为 : ', list)
    for i in list:
        print(i)
    '''遍历列表'''
    

     

    元组:

    YuanZu=('Mon','Tues','Wednes','Thurs')
    YuanZu2=('Fir','Satur','Sun')
    YuanZu3=YuanZu+YuanZu2
    print(YuanZu2)
    del YuanZu2;
    print(YuanZu3)
    

     

    字典:

    ZiDian={'date':'Mon','date_1':'Tues','date_2':'Wednes'}
    print(ZiDian)
    print(ZiDian['date_2'])
    ZiDian['date_2']='Sun'
    print(ZiDian['date_2'])
    

      

     集合:

    date = {'Mon', 'Tues', 'Wednes', 'Thurs', 'Fir', }
    print(date)
    date.add("Sun")
    print(date)
    date.remove("Sun")
    print(date)
    print(len(date))
    

      

    2.总结列表,元组,字典,集合的联系与区别。

    列表是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

    元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

    字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

    集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

      列表   元祖  字典 集合

    括号

     []  ()  {} {}

    有序无序

     有序  有序  无序,自动正序 无序

    可变不可变

     可变  不可变  不可变 可变

    重复不可重复

     可以  可以  可以 不可以

    存储与查找方式

     值  值  键值对(键不能重复) 键(不能重复)

    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)

    import pandas as pd
    from nltk.corpus import stopwords
    stopwords=stopwords.words('english')
    
    f = open(r'C:UsersunlieeDesktop84txt.txt', encoding='utf-8-sig')
    text=f.read()
    f.close()
    text=text.lower()
    
    FuHao="., --? "   "
    for s in FuHao:
        text=text.replace(s," ");
    text=text.split();
    for i in text:
        dict[i]=text.count(i);
    for c in stopwords:
        if c in dict.keys():
            dict.pop(s);
    d=sorted(dict.items(),reverse=True,key=lambda d:d[1]);
    print("前20个单词出现频数为:")
    for i in range(20):
        print(d[i][0],"--",d[i][1]);
    pd.DataFrame(data=d).to_csv('big.csv',encoding='utf-8');
    

      

  • 相关阅读:
    mysql表单输入数据出现中文乱码解决方法
    swift实现水仙花数
    Mac终端使用swift REPL异常处理方法
    灰度发布、金丝雀发布,持续集成
    CentOS7.2配置本地yum源
    SNMP 相关检测分支
    Flask 中 @property 和@password.setter 的运用
    Python 数据结构--字典
    Python 数据结构--序列
    网络编程
  • 原文地址:https://www.cnblogs.com/lb2016/p/10522105.html
Copyright © 2020-2023  润新知