複合數據類型,英文詞頻統計

 

 

作業要求來源: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')

運行截圖:

生成詞彙圖:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章