天天看點

複合資料類型,英文詞頻統計

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 
詞雲:      
複合資料類型,英文詞頻統計