天天看點

複合資料類型

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

清單是有序的,我們可以用之前學過的for循環周遊它,然後輸出清單中的每一個值。元組屬于特殊的清單 S=(,,,),其内部元素不可以編輯,隻可以S[0]方式查詢。字典是python中唯一的映射類型,采用鍵值對的形式存儲資料。

總結清單,元組,字典,集合的聯系與差別。

1、清單

清單是處理有序項目的資料結構。建立了一個清單,就可以添加,删除,同時也可以搜尋清單中的項目

2、元組

元組和清單十分相似,不過元組是不可變的。元組通常用在使語句或使用者定義的函數能夠安全的采用一組值。

3、字典

它們的鍵或者值對用冒号分割,而各個對用逗号分割。另外,記住字典中的鍵/值對是沒有順序的。

dict1 = {  
    'key':'value',  
    'key1':'value1'  
}  
a = [('key1','value1'),('key2','value2')]  
dict1 = dict(a)  
dict1 = {}.fromkeys(['key1','key2'],'default_value')
dict1 = dict(key1='value1',key2='value2')        

4、集合

與字典類似,但隻包含鍵,而沒有對應的值,包含的資料不重複。

詞頻統計

 (1)下載下傳一長篇小說,存成utf-8編碼的文本檔案file;

 (2)通過檔案讀取字元串str;

 (3)對文本進行預處理; 

 (4)分解提取單詞list; 

 (5)單詞計數字典set,dict;

 (6)按詞頻排序list.sort(key=lambda),turple;

 (7)排除文法型詞彙,代詞、冠詞、連詞等無語義詞;

 (8)輸出TOP(20);

 (9)可視化:詞雲。

    排序好的單詞清單word儲存成csv檔案。

仿照老師的代碼如下:

exclude={'me','is','xie','xbk','sd','we','gt','bbq','ty','hr','te','ew','fd','gf','cxv'}  #首先定義一個數組#
#讀取從網上複制黏貼的英文小說内容#def gettxt():
    sep=".,:;?!-_'"
    txt=open('wej.txt','r').read().lower()
    for ch in sep :
        txt=txt.replace(ch,' ')
    return 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())
#按26個英文字母排列順序#
word.sort(key=lambda x:x[1],reverse=True)
print(word)
for i in range(20):
    print(word[i])
#另存為csv檔案#
import pandas as pd
pd.DataFrame(data=word).to_csv('Harry Potter.csv',encoding='utf-8')      
複合資料類型
複合資料類型

生成的圖檔如下:

複合資料類型