1.清單,元組,字典,集合分别如何增删改查及周遊。
2.總結清單,元組,字典,集合的聯系與差別
元組和清單是類似的, 隻是元組不可修改内容。
注意這裡指的是不可修改元組元素的指向, 可以修改内容指向的内容。
字典完全差別于清單和元組
因為字典使用hash表來存儲, 是以隻有能夠進行hash運算的才能作為鍵值。
個人認為, 一般不可變的都能作為鍵, 比如str/tuple/None/function.清單不能作為鍵。
最後, 由于字典是hash表算法{字典查找O(1), 清單周遊O(n)}, 在資料量巨大的時候, 字典的查找效率高。
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)
exclude={'a','b','c','d','e','f','g','is','time','an','it','for','and','apple','to','do','go','school','fish','lefe','right','swim'} #通過數組定義詞組#
#讀取aaa.txt内容#
def gettxt():
sep=".,:;?!-_'”"
txt=open('aaa.txt','r',encoding='utf-8').read().lower()
for ch in sep :
txt=txt.replace(ch,' ')
return txt
#擷取aaa.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])
