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

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

1.列表:

list=['jin','mu','shui','huo','tu']
list.append('qi')
list

list=['jin','mu','shui','huo','tu']
list.pop(1)
list

list=['jin','mu','shui','huo','tu']
list[2]='bing'
list

list=['jin','mu','shui','huo','tu']
list[0]

遍历

list=['jin','mu','shui','huo','tu']
for i in range(len(list)):
    print('下标:',i,'  值:',list[i])

2.元组

tup1=('jin','mu','shui','huo','tu')
tup2=('qi','guang')
tup3=tup1+tup2
tup3

tup1=('jin','mu','shui','huo','tu')
del tup1
tup1

tup1=('jin','mu','shui','huo','tu')
tup1[2]

遍历

tup1=('jin','mu','shui','huo','tu','qi')
for i in range(len(tup1)):
    print('下标:',i,'  值:',tup1[i])

3.字典

dis={'1':'jin','2':'mu','3':'shui'}
dis['4']='huo'
dis

dis={'1':'jin','2':'mu','3':'shui'}
del dis['2']
dis

dis={'1':'jin','2':'mu','3':'shui'}
dis['3']='tu'
dis

dis={'1':'jin','2':'mu','3':'shui'}
dis['3']

遍历

dis={'1':'jin','2':'mu','3':'shui'}
for i in dis:
    print('key:',i,'  键值:',dis[i])

4.集合

s=set(('jin','mu','shui','huo','tu'))
s.add('qi')
s

s=set(('jin','mu','shui','huo','tu'))
s.remove('huo')
s

s=set(('jin','mu','shui','huo','tu'))
s.update(['guang'])
s

 

 

 

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

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

列表:

  • 括号:有括号:[]
  • 有序无序:有序
  • 可变不可变:可变
  • 重复不可重复:可重复
  • 存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储

元组:

  • 括号:有括号:()
  • 有序无序:有序
  • 可变不可变:不可变
  • 重复不可重复:可重复
  • 存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储

字典:

  • 括号:有括号:{}
  • 有序无序:无序
  • 可变不可变:可变,根据key改变键值
  • 重复不可重复:key不可重复,键值可重复
  • 存储与查找方式:根据key存储和查找所对应的键值

集合:

  • 括号:有括号:()
  • 有序无序:无序
  • 可变不可变:可变
  • 重复不可重复:不可重复
  • 存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储

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文件

def getNumber(x):
    y=x[1]
    return y

file = open('F:\gril.txt','r',encoding='UTF-8').read().lower()
s = "'"
for i in s:
    file = file.replace(s,' ')
song = file.split()
exclude = {'a','the','i','you','and','in','but','not','it','s','if','do','m'}
cun = set(song)-exclude
dis = {}
for i in cun:
    dis[i] = song.count(i)
words = list(dis.items())
words.sort(key=getNumber,reverse=True)
#输出前20
for j in range(20):
    print(words[j])
#保存为csv文件
pd.DataFrame(data=words).to_csv(r'F:\bigbig.csv',encoding='UTF-8')

 

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

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


posted @ 2019-03-22 11:57  曾鹏菲  阅读(345)  评论(0编辑  收藏  举报