博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复合数据类型,英文词频统计
阅读量:5034 次
发布时间:2019-06-12

本文共 2972 字,大约阅读时间需要 9 分钟。

作业要求来源:

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

列表:

list1 = ['gakki','masami', 1998, 1997]list2 = [1, 2, 3, 4, 5]list3 = ["a", "b", "c", "d"]print ("list1[0]: ", list1[0])print ("list2[1:5]: ", list2)#增加list2.append('6')print("list2:",list2[0:100])#删除print ("原始列表 : ", list3)del list3[2]print ("删除后列表 : ", list3)#更改list2[2] = 2001print ("更新后的第三个元素为 : ", list2[2])#查找list4=['Boyoung','gakki','masami']a=list4.index('Boyoung')print(a)

元组:

a = ['Gakki','ranks','first','in','the','world']print(a[1:])  print(a[1:-1])  print(a[1:-1:2]) print(a[0::2]) print(a[5::-2])  # 添加 insert() 添加到指定位置 两个参数a.insert(2, 'the')print("增加后的元组:",a)# 修改a[1] = 'win'  print("修改一个单词后的元组:",a)a[1:] = ['smiles','like','a','flower'] print("修改后的元组:",a)# 删除a.remove(a[0])  print("删除后的元组:",a)#查找# #index 索引 获取下标b = a.index('flower')print(b)

字典:

dict = {"gakki":"小米", "masami":"华为"} #增加 dict.setdefault("parkboyoung","小米") print("增加后的字典:",dict) #删除 del dict['parkboyoung'] print("删除后的字典:",dict) #修改 dict['gakki'] = 1998; dict['masami'] = "1997" print("修改后的字典:",dict) #查找 print(dict["gakki"]) print(dict.get("masami")) print(dict.get("parkboyoung"),"这个键不存在")

集合:

s = {1,2,3,4}print (s)#增加s.add(1)print("增加集合内有的数:",s)s.add(8)print("增加集合内不存在的数:",s)s1 ={ 5,6,7,}s.update(s1)print("合并集合:",s)#删除s.pop()print("随机删除后:",s)s.remove(8)print("指定删除后:",s)#修改s=s|s1print("修改后:",s)s=s&s1print("修改后:",s)#查找# 交集print (s1 & s)# 并集print (s1 | s)# 差集print (s1 - s)print (s - s1)# 对等差分print (s1 ^ s)

 

遍历函数,其下格式为

function.sort()#function可以是列表、元组、字典或者集合任意一种for i in function:    print(i,end='>')

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

(1)列表

  • 列表list,用中括号“[ ]”表示
  • 列表是一组任意类型的值,按照一定顺序组合而成的 
  • 可以随时添加删除修改其中的元素
  • 元素可重复
  • 存储时每一个元素被标识一个索引,每当引用时,会将这个引用指向一个对象,所以程序只需处理对象的操作

(2)元组

  • 元组tuple,用小括号“( )”表示
  • 与列表相同,有序
  • 一旦初始化就不能修改
  • 元素可重复
  • 与列表相似,元组是对象引用的数组

(3)字典

  • 字典dict,用大括号“{key,value}”表示
  • 字典中的项没有特定顺序,以“键”为象征 
  • 因为是无序,故不能进行序列操作,但可以在远处修改,通过键映射到值
  • key不能重复
  • 字典存储的是对象引用,不是拷贝,和列表一样

(4)集合

  • 集合set,用小括号“( )”表示
  • 无序
  • 可变,可以添加和删除元素
  • 无重复
  • 与列表相似

3.词频统计

  • 1.下载一长篇小说,存成utf-8编码的文本文件 file

    2.通过文件读取字符串 str

    3.对文本进行预处理

    4.分解提取单词 list

    5.单词计数字典 set , dict

    6.按词频排序 list.sort(key=lambda),turple

    7.排除语法型词汇,代词、冠词、连词等无语义词

    • 自定义停用词表
    • 或用stops.txt

     

fo = open('1.txt', 'r', encoding='utf-8')stra = fo.read().lower()fo.close()print(stra) sep = ',.;!'for ch in sep:    stra = stra.replace(ch, '')print(stra)strList = stra.split(' ')print(len(strList), strList) strSet = set(strList)print(len(strSet), strSet) strDict = {}for world in strSet:    strDict[world] = strList.count(world)print(len(strDict), strDict)wcList = list(strDict.items())print(wcList) wcList.sort(key=lambda x: x[1], reverse=True)print(wcList) e = {
'a', 'the', 'an', 'and', 'i', 'or', 'of'}strSet = strSet - eprint(len(strSet), strSet) for i in range(20): print(wcList[i]) import pandas as pdpd.DataFrame(data=wcList).to_csv(r'E:\homework\joker.csv', encoding='utf-8')

 

 

 

 8.输出TOP(20)

 

  • 9.可视化:词云

 排序好的单词列表word保存成csv文件

import pandas as pd pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8') 线上工具生成词云:
 

 

转载于:https://www.cnblogs.com/tianshizhao/p/10578835.html

你可能感兴趣的文章
BZOJ2631 tree LCT
查看>>
Codechef FIBTREE 树链剖分 主席树 LCA 二次剩余 快速幂
查看>>
UOJ#220. 【NOI2016】网格 Tarjan
查看>>
取消事件冒泡
查看>>
Symfony翻译教程已开课
查看>>
Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)
查看>>
通过数据库表反向生成pojo类
查看>>
Jsoup操作
查看>>
android优化内存_下
查看>>
js 多张爆炸效果轮播图
查看>>
两个input放一行不能对齐
查看>>
实训作业2
查看>>
带权最短路 Dijkstra, SPFA, Bellman-Ford, ASP, Floyd-Warshall 算法分析
查看>>
css_去掉默认样式
查看>>
关于php开发中的字符编码问题总结的几个要点
查看>>
【原创】uwsgi中多进程+多线程原因以及串行化accept() - thunder_lock说明
查看>>
vi 卡住怎么办
查看>>
python 之sqlalchemy many to many
查看>>
Direct2D教程(三)简单几何图形
查看>>
手机GUI自动化测试介绍
查看>>