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

Posted destinymingyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复合数据类型,英文词频统计相关的知识,希望对你有一定的参考价值。

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


#
列表的遍历 myList=["小红","小李",80,90] print("列表的遍历:") for l1 in myList: print(l1) #元组的遍历 myTuple=(23,65,79,50) print("元组的遍历:") for T1 in myTuple: print(T1) #集合的遍历 mySet={43,58,90,74} print("集合的遍历:") for S1 in mySet: print(S1) #字典的遍历 classmate=["张三","李四","小虎"] sorce=[89,76,90] d={} print("字典的遍历:") d=dict(zip(classmate,sorce)) for i in d.keys(): print(i,d[i])

 

 技术图片

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

  1. 括号
  2. 有序无序
  3. 可变不可变
  4. 重复不可重复
  5. 存储与查找方式
  • 列表用“[]”表示,元组则是用“()”表示,字典最外面用花括号{},每一组用冒号连起来,然后各组用逗号隔开。集合可以用set()函数或者方括号{}创建,元素之间用逗号”,”分隔。 
  • 列表和元组都是有序的,而字典与集合为无序的。
  • 列表中的元素可以是任意类型,也就是可变的序列,元组则属于不可变序列类型 ,字典也是与可变序列。
  • 列表,元组,字典都可重复,集合则不可重复。

列表和元组有很多相似的地方,操作也差不多。不过列表是可变序列,元组为不可变序列。也就是说列表主要用于对象长度不可知的情况下,而元组用于对象长度已知的情况下,而且元组元素一旦创建变就不可修改。 字典主要应用于需要对元素进行标记的对象,这样在使用的时候便不必记住元素列表中或者元组中的位置,只需要利用键来进行访问对象中相应的值。集合中的元素不可重复的特点使它被拿来去重。列表和元组的存储与查找方式通过值来完成,而字典则是通过键值对(键不能重复)来完成,集合则是通过键(不能重复)来完成。

 

3.词频统计

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

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

    3.对文本进行预处理

    4.分解提取单词 list

    5.单词计数字典 set , dict

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

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

    • 自定义停用词表
    • 或用stops.txt
      exclude={a,the,and,i,you,in,but,not,with,by,its,for,of,an,to}  #定义数组#
      #读取Harry Potter.txt文件中的英文内容#
      def gettxt():
          sep=".,:;?!-_‘"
          txt=open(C:/Users/Administrator/Desktop/简爱.txt,r).read().lower()
          for ch in sep :
              txt=txt.replace(ch, )
          return 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])
      #排序好的单词列表word保存成csv文件#
      import pandas as pd
      pd.DataFrame(data=word).to_csv(C:/Users/Administrator/Desktop/简爱.csv,encoding=utf-8)

       

  8.输出TOP(20)

技术图片

  • 9.可视化:词云

技术图片

 

 

以上是关于复合数据类型,英文词频统计的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

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