天天看點

複合資料類型

作業來源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696

1.清單,元組,字典,集合分别如何增删改查及周遊。

答:

(1)清單的增删改查:

增:使用append()方法在清單的末尾增加新的元素

删:使用del語句來删除清單的元素

改:通過下标索引找到值然後直接修改

查:通路的方式可以是通過下标索引,也可以是以方括号的形式截取字元

(2)元組:

增:可以通過直接在括号中添加元素,并使用逗号隔開

删:元組中的元素不能被直接删除,但是可以通過del語句來删除整個元組

改:元組元素不能修改

查:可以通過下标索引值查找元組中的元素

(3)字典:

增:

直接通過鍵值對指派即可添加

删:直接删除鍵值對

改:

直接對已有的鍵進行指派

查:直接查詢鍵值對

(4)集合

增:使用add語句直接增加

删:可以使用remove語句直接删除,若無此元素則報錯,discard( ) 删除集合指定元素, 如果不存在,則do nothing

2.總結清單,元組,字典,集合的聯系與差別。參考以下幾個方面:

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

1.清單,元組,字典是有順序的,而集合是沒順序的

2.清單是以方括号形式表示,元組是以圓括号表示,字典以花括号表示,集合則是以[()]的形式表示

3.清單是可變對象,它支援在原處修改的操作.也可以通過指定的索引和分片擷取元素。差別于元組,可動态增加,删除,更新。

4.元組和清單在結構上沒有什麼差別,唯一的差異在于元組是隻讀的,不能修改。元組用“()”表示。元組一旦定義其長度和内容都是固定的。一旦建立元組,則這個元組就不能被修改,即不能對元組進行更新、增加、删除操作。若想建立包含一個元素的元組,則必須在該元素後面加逗号“,”,否則建立的不是一個元組,而是一個字元串。

5.集合沒有特殊的表示方法,而是通過一個set函數轉換成集合。集合是一個無序不重複元素集,基本功能包括關系測試和消除重複元素.。

6.字典最大的價值是查詢,通過鍵,查找值。

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檔案

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

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

作業部落格要求:

  • 文字作業要求言簡意駭,用自己的話說明清楚。
  • 編碼作業要求放上代碼,加好注釋,并附上運作結果截圖。
exclude={'a','i','you','and','the','to','be','is','in','or','will'}#定義停用詞表
f=open('news.txt','r',encoding='utf-8')#打開檔案
text=f.read()
print('text')
f.close()
text=text.lower()
sep=',.?;'
for s in sep:
    text=text.replace(s,' ')
bigList = text.split()#把text轉化為List清單
print(bigList)
print('you',bigList.count('you'))
bigSet = set(bigList)#把List清單轉換為集合
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)
import pandas as pd#生成詞雲
pd.DataFrame(data=word).to_csv('star.csv',encoding='utf-8')      

截圖:

複合資料類型
複合資料類型