複合數據類型,英文詞頻統計

1.列表,元組,字典,集合分別如何增刪改查及遍歷。app

(列表)
# # -*- coding: utf-8 -*- list = ['a', 'b', 2019, 'c'] print("list的類型:", type(list)) print("list[2]:", list[2]) print("list[1:2]:", list[1:3]) print("list列表的值爲", list) print("第三個元素爲list[2]:", list[2]) list[2] = 2018 print("修改後的第三個元素爲list[2]:", list[2]) list.append(2) print("增長元素後的list值:", list) list.insert(1, 'd') print("插入元素後的list值:", list) del list[4] print("刪除第五個元素後的list值:", list)
(元組)
num1 = ('a', 'b','c', 'd');    #設置元組
num2 = ('e', 1,'g')
num3=num1+num2 #元組不支持修改,但能夠經過鏈接組合的方式進行增長
print(num3)
#查
print (num1[0] ,num2[0])
(字典)
  dict['key']='value'
 del dict['key'] 
  if 'key' in dict1:  dict1['key']='new_value'
   if 'key' in dict:    print dict1['key']
  for i in dict['key']:
      print(i)
(集合)
set={1,2,3} 增
set.add(4)
print(set)

set.remove(4)
print(set)
#遍歷
for x in set:
print(x)

2.總結列表,元組,字典,集合的聯繫與區別。參考如下幾個方面:工具

  • 括號
  • 有序無序
  • 可變不可變
  • 重複不可重複
  • 存儲與查找方式

 

列表 元組 字典 集合
括號   []   ()  {}  {}
有序無序 有序 有序 有序 無序
可變不可變 可變 不可變 可變 可變
重複不重複 可重複 可重複 可重複 不可重複
存儲與查找方式 索引 索引 鍵值

3.詞頻統計編碼

  • 1.下載一長篇小說,存成utf-8編碼的文本文件 filespa

    2.經過文件讀取字符串 strcode

    3.對文本進行預處理blog

    4.分解提取單詞 list排序

    5.單詞計數字典 set , dict索引

    6.按詞頻排序 list.sort(key=lambda),turpleutf-8

    7.排除語法型詞彙,代詞、冠詞、連詞等無語義詞rem

    • 自定義停用詞表
    • 或用stops.txt

  8.輸出TOP(20)

  • 9.可視化:詞雲

 排序好的單詞列表word保存成csv文件

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

線上工具生成詞雲:
https://wordart.com/create

 代碼以下:

f = open(r'C:\Users\Lenovo\PycharmProjects\Were You Ever a Child.txt', encoding='utf8')
# 打開文件
stop = {'a', 'the', 'and', 'i', 'you', 'in', 'but', 'not', 'with', 'by', 'its', 'for', 'of', 'an', 'to', 'my', 'myself'}


def gettext():
    sep = "~`*()!<>?,./;'\:[]{}-=_+"
    text = f.read().lower()
    for s in sep:
        text = text.replace(s, '')
    return text


# 讀取文件
textList = gettext().split()
print(textList)
# 分解提取單詞
textSet = set(textList)
stop = set(stop)
textSet = textSet - stop
print(textSet)
# 排除語法詞
textDict = {}
for word in textSet:
    textDict[word] = textList.count(word)
    print(textDict)
print(textDict.items())
word = list(textDict.items())
# 單詞計數
word.sort(key=lambda x: x[1], reverse=True)
print(word)
# 排序
for q in range(20):
    print(word[q])
# 次數爲前20的單詞

import pandas as pd

pd.DataFrame(data=word).to_csv("text.csv", encoding='utf-8')

詞雲執行效果以下:

相關文章
相關標籤/搜索