zoukankan      html  css  js  c++  java
  • 复合数据类型

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

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

    元组和列表是类似的, 只是元组不可修改内容。

    注意这里指的是不可修改元组元素的指向, 可以修改内容指向的内容。

    字典完全区别于列表和元组

    因为字典使用hash表来存储, 所以只有能够进行hash运算的才能作为键值。

    个人认为, 一般不可变的都能作为键, 比如str/tuple/None/function.列表不能作为键。

    最后, 由于字典是hash表算法{字典查找O(1), 列表遍历O(n)}, 在数据量巨大的时候, 字典的查找效率高。

    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)

    exclude={'a','b','c','d','e','f','g','is','time','an','it','for','and','apple','to','do','go','school','fish','lefe','right','swim'}  #通过数组定义词组#
    #读取aaa.txt内容#
    def gettxt():
    sep=".,:;?!-_'”"
    txt=open('aaa.txt','r',encoding='utf-8').read().lower()
    for ch in sep :
    txt=txt.replace(ch,' ')
    return txt
    #获取aaa.txt词#
    bigList=gettxt().split()
    print(bigList);
    print('big:',bigList.count('big'))
    bigSet=set(bigList)
    #过滤单词,包括一些冠词和连词等#
    bigSet=bigSet-exclude
    print(bigSet)
    #单词统计#
    bigDict={}
    for word in bigSet:
    bigDict[word]=bigList.count(word)
    print(bigDict)

    print(bigDict.items())
    word=list(bigDict.items())
    #按单词出现频率排序#
    word.sort(key=lambda x:x[1],reverse=True)
    print(word)
    #输出频率较高的词语top20#
    for i in range(20):
    print(word[i])

  • 相关阅读:
    C语言作业9
    C语言作业8
    学习体会
    C语言作业7
    C语言作业6
    C语言作业5
    C语言作业4
    C语言作业3
    丛铭俣 160809324 (作业12)
    丛铭俣 160809324 (作业10)
  • 原文地址:https://www.cnblogs.com/068zhengda/p/10533554.html
Copyright © 2011-2022 走看看