做業的要求來自於:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696app
1.列表,元組,字典,集合分別如何增刪改查及遍歷。ide
列表:工具
list = ['列表', 27,'列表',27] #這是一個列表 #增 list.append('append') # 增長元素到列表結尾 list.extend(['extend','擴充列表']) # 添加指定列表的全部元素 list.insert(0, '插入元素') #在指定位置插入一個元素 print(list) #刪 list.remove('列表') #刪除列表中值爲'列表'的第一個元素 list.pop() #刪除最後一個元素 list.pop(1) #刪除指定位置元素
del list[2:4] #刪除從2到4的元素 list.clear() #刪除列表中的全部項 print(list) #改 list[0] = 'list' print(list) #查 list.index('列表') #返回第一個值爲x的元素的索引 print(list)
#遍歷
for i in list:
print(i)
元祖:編碼
tup = ('Google', 'Runoob', 1997, 2000); #這是一個元祖 #元組中的元素值是不容許修改的,但咱們能夠對元組進行鏈接組合 tup1 = (1,2,3); tup2 = ('a', 'b','c') # 建立一個新的元組 tup3 = tup1 + tup2; print(tup3)
#訪問元祖
print ("tup1[0]: ", tup1[0])
#遍歷
for i in tup1:
print(i)
字典:spa
dict = {'a': '1', 'b': '2', 'c': '3'} #這是一個字典 #刪 del dict['b'] # 刪除鍵 'b' dict.clear() # 清空字典 del dict # 刪除字典 #改 dict['a'] = '9'; # 更新a #增 dict['d'] = '4' # 添加信息 #查 print(dict['a'])
#遍歷
for i,j in dict.items():
print(i, ":\t", j)
集合:code
set1 = {1,2,3} #這是一個集合 set2 = set((1,2,3)) #這也是一個集合 print(set1) print(set2) #增 set1.add(4) print(set1) #刪 set2.remove(1) #移除值爲1的元素,若是不存在則會發生錯誤 set2.discard(1) #移除值爲1的元素,若是不存在不會發生錯誤 set2.pop() #隨機刪除一個元素 set2.clear() print(set2)
#查
print(1 in set1)#存在則返回True
#集合無序,不能修改指定的元素
#遍歷
for num in set1:
print(num)
2.總結列表,元組,字典,集合的聯繫與區別。參考如下幾個方面:blog
列表 | 元祖 | 字典 | 集合 | |
括號排序 |
[] | () | {} | {} |
有序無序索引 |
有序 | 有序 | 無序,自動正序 | 無序 |
可變不可變utf-8 |
可變 | 不可變 | 不可變 | 可變 |
重複不可重複 |
能夠 | 能夠 | 能夠 | 不能夠 |
存儲與查找方式 |
值 | 值 | 鍵值對(鍵不能重複) | 鍵(不能重複) |
3.詞頻統計
1.下載一長篇小說,存成utf-8編碼的文本文件 file
2.經過文件讀取字符串 str
3.對文本進行預處理
4.分解提取單詞 list
5.單詞計數字典 set , dict
6.按詞頻排序 list.sort(key=lambda),turple
7.排除語法型詞彙,代詞、冠詞、連詞等無語義詞
import pandas as pd from nltk.corpus import stopwords #獲取停用詞 stopwords = stopwords.words('english') f = open("Harry Potter and The Sorcerer's Stone.txt","r") text = f.read()#讀取文件 f.close()#關閉文件 #文件處理 dict = {}; text = text.lower();#小寫轉化 sep = ".,?:…—「」"; for s in sep: text = text.replace(s, " "); #以空格替換符號 list = text.split();#空格分割單詞單詞 for l in list: dict[l] = list.count(l);#獲取單詞數目 for s in stopwords: if s in dict.keys(): dict.pop(s);#刪除停用詞 d = sorted(dict.items(),reverse = True,key = lambda d:d[1]); #排序 print("前20個單詞出現頻數爲:") for i in range(20): print(d[i][0]," : ",d[i][1]); pd.DataFrame(data = d).to_csv('wordcount.csv',encoding = 'utf-8') #保存爲.csv格式
8.輸出TOP(20)
排序好的單詞列表word保存成csv文件
import pandas as pd
pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')
線上工具生成詞雲:
https://wordart.com/create