复合数据类型

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

列表是有序的,我们可以用之前学过的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')

生成的图片如下:

 

 

 

 

转载于:https://www.cnblogs.com/xbk6/p/10509293.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值