作業要求來源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753
1.列表,元組,字典,集合分別如何增刪改查及遍歷。
列表操作:
#列表 list1 = ['speakingSirqin', 'softqin', 1999, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"] #輸出 print(list1) print(list2) print(list3) print(list2[0:2])#下標0開始,下標2結束,但不包含下標2所對應的上鍵(元素)' #增加 list1.insert(2,'lili') list1.insert(5,'qin') print(list1) #刪除 list2.pop(0) print(list2) #修改 list3[1]='A' print(list3) #查找 index=list3.index('c') print("找到c在列表3的下標爲:",index) #列表的增刪改查
元組操作:
#元組 tup1 = ('Google', 'Runoob', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 8) tup3 = "a", "b", "c", "d" #輸出 print(tup1) print(tup2) print(tup3) print(tup1[0]) print(tup2[1:3]) #連接元組 tup4=tup1+tup2+tup3 print(tup4)
字典操作:
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} print ("dict['Name']: ", dict['Name']) print ("dict['Age']: ", dict['Age'])
集合操作:
num = {1,2,3,4,5} #定義一個集合 print('增加:\n元素原本爲:{}'.format(num)) num.add(6) print('num.add(6):增加一個元素 結果:{}'.format(num)) print('刪除:\n元素原本爲:{}'.format(num)) num.remove(1) print('num.remove(1):刪除1這個元素,若集合沒有1則出錯 結果:{}'.format(num)) num.pop() print('num.pop():隨機刪除一個元素, 結果:{}'.format(num)) print('查詢:\n元素原本爲:{}'.format(num)) print('1 in num:查詢1這個元素是否存在,是則是true, 結果:{}'.format(1 in num)) print('遍歷:\n元素原本爲:{}'.format(num)) print('for num in set1:print(num):便利整個集合 結果:') for num1 in num: print(num1)
2.總結列表,元組,字典,集合的聯繫與區別。參考以下幾個方面:
- 括號
- 有序無序
- 可變不可變
- 重複不可重複
- 存儲與查找方式
列表 | 元組 | 字典 | 集合 | |
括號 | [] | () | {} | {}或set() |
有序無序 | 有序 | 有序 | 無序 | 無序,自動正序 |
可變不可變 | 可變 | 不可變 | 可變 | 不可變 |
重複不重複 | 是 | 是 | 否 | 是 |
存儲方式 | 值 | 值 | 鍵(不可重複) |
鍵值對(鍵不能重複) |
3.詞頻統計
-
1.通過文件讀取字符串 str
2.對文本進行預處理
3.分解提取單詞 list
4.單詞計數字典 set , dict
5.按詞頻排序 list.sort(key=lambda),turple
代碼:
import string import pandas as pd ##定義獲取文件並處理函數 def getstr(): txt = open(r"..\python1\what", "r").read().lower() for c in string.punctuation: txt = txt.replace(c, " ") return txt '''將文本分成單詞''' txtDC=getstr().split() #過濾無意詞 ex = {'a','an','and','was','as','up','my','it','here','at','ll','his','s','he','that','from','had','have','we','the','i','you','in','on','but','with','not','by','its','for','of','to'} txtSet=set(txtDC)-ex '''單詞統計''' txtDic = {} for word in txtSet: txtDic[word] = txtDC.count(word) #排序 wordList = list(txtDic.items()) wordList.sort(key=lambda x:x[1],reverse=True) #輸出top20 for i in range(20): print(wordList[i]) #保存爲csv文件 pd.DataFrame(data=wordList).to_csv('ToMyTex.csv',encoding='utf-8')
運行截圖:
生成詞彙圖: