mysql复合数据类型单词_复合数据类型,英文词频统计

本文详细介绍了Python中的列表、元组、字典和集合的增删改查及遍历操作,并通过实例展示了如何进行词频统计,包括预处理、计数和排序,最后将结果保存至CSV文件。

1.列表,元组,字典,集合分别如何增删改查及遍历。

列表:

list=['30','50']

list.append( '20' )

del list[1]

list[1]='10'

list.insert(2,'10')

list.index('20')

list.index['50']

list.count('30')

list.copy()

for i in list: printf(list[i])

元组:

tu = (1, 2, 3, 'alex', [2, 3, 4, 'taibai'], 'egon')

print(tu[2])

print(tu[0:4])

for i in tu:

print(i)

tu[4].append('ss')

print(tu)

del tu;

字典:

d['a']=11

del d['a']

a=d['a']

d.clear()

str(d)

for key in d:printf(d[key])

集合:

test = {'Alice', 'Beth', 'Cecil', 'Cady', 'Bob', 'Molly'};

test.add('Youth');

print(test);

test.update({123, 456});

print(test);

basket = {'orange', 'banana', 'pear', 'apple'};

test.remove('Alice');

print(test);

test.discard('Beth');

print(test);

x = basket.pop();

print("删除的元素是:", x);

print(basket);

2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:

括号

有序无序

可变不可变

重复不可重复

存储与查找方式

列表(list):列表是一组有序项目的数字结构,列表的项目应该放在方括号[ ]中,列表是可以被改变和可重复的;按照索引的方式查找通过偏移存储并且元素可以任意类型存在。

元组(tuple):元组与列表十分相似,可重复也是通过偏移的方式进行存储,不过元组是不可变的即是你是不能对元组中的元素进行修改,而且用的是();元组的元素是固定的长度、异构,也是任意嵌套。

字典(dict):字典使用的是{},字典是无序的,但是可变可重复;使用键-值(key-value)进行存储,查找速度快;字典的key是不能变的,list不能作为key,字符串、元祖、整数等都可以。

集合(set):无序不可变,使用([ ]),与字典类似,但只包含键,而没有对应的值;元素可以是列表、元组、字典中的任意一个或多个。

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)

1 f = open(r'D:\pyhomework\bigbigword.txt',encoding='utf8')

2 #打开文件

3 stop={'a','the','and','i','you','in','but','not','with','by','its','for','of','an','to','my','myself','we','our','ours','ourelves','about','no','nor'}

4 def gettext():

5 sep = "~`*()!<>?,./;'\:[]{}-=_+"

6 text = f.read().lower()

7 for s in sep:

8 text=text.replace(s,'')

9 return text

10 #读取文件

11 textList = gettext().split()

12 print(textList)

13 #分解提取单词

14 textSet = set(textList)

15 stop = set(stop)

16 textSet = textSet - stop

17 print(textSet)

18 #排除语法词

19 textDict = {}

20 for word in textSet:

21 textDict[word] = textList.count(word)

22 print(textDict)

23 print(textDict.items())

24 word = list(textDict.items())

25 #单词计数

26 word.sort(key=lambda x:x[1],reverse=True)

27 print(word)

28 #排序

29 for q in range(20):

30 print(word[q])

31 #次数为前20的单词

32

33 import pandas as pd

34 pd.DataFrame(data=word).to_csv("text.csv",encoding='utf-8')

b870311bd7aa9f3026ecf0d937bd86f0.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值