菜鸟学IT之python3关于列表,元组,字典,集合浅认识!
作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753
一.列表,元组,字典,集合分别如何增删改查及遍历。
- 列表
# 列表的增加
ls =['Hello','Word','JS','OK','Good']
print("原始数据:",ls)
ls.append(12) # 在数组列表后面增加字符串“12”
print("增加后的数组为:",ls) # 列表的删除
del ls[1] # 删除数组的第二个元素,即下标为1的字符串
# ls.pop() # 删除列表最后一个元素
print("删除数组第二个元素后数组为:",ls) # 列表的修改
ls[1] = "修改" # 删除数组的第二个元素,即下标为1的字符串
print("修改数组第二个元素后数组为:",ls) # 列表的查询
ls.index('OK') # 查找“OK”字符串
print("打印字符串“OK”的下标:",ls.index('OK')) # 遍历列表
print("遍历列表:")
for i in ls:
print(i)
结果:

- 元组
# 元组
YZ = ('元','组','的','元','素','不','修','改')
YZ1 = ('的','!')
YZ2 = YZ + YZ1
del YZ # 删除元组
print("元组的遍历:")
for i in YZ2:
print("\t\t",i)
结果:

- 字典
# 字典
D = {'这':1,'是':2,'字':3,'典':4,'!':5}
D['这']=11 # 修改键“这”的值
del D['是'] # 删除键“是”
a = D['这'] # 查看键a的值
print("字典\n查看“这”的下标:",a)
# D.clear() # 删除字典中的所有条目
# 遍历输出列表
str(D) # 打印字典
for key in D:
print(key)
结果:

- 集合
# 集合
aa = {1, 2, 3}
aa.add(4) # 增加
print(aa) aa.remove(2) # 删除
print(aa)
# 遍历打印
for i in aa:
print("\t\t",i)
结果:

二、总结列表,元组,字典,集合的联系与区别。参考以下几个方面:
- 括号
- 有序无序
- 可变不可变
- 重复不可重复
- 存储与查找方式
|
列表 |
元组 |
字典 |
集合 |
|
|
名称 |
list |
tuple |
dict |
set |
|
初始化 |
[‘0’,’0’,’1’] |
(‘0’,’0’,’1’) |
{‘0’:1,’0’:2,’1’:3} |
{1,2}或set([2,3]) |
|
是否有序 |
有序 |
有序 |
无序,自动正序 |
无序 |
|
可否重复 |
是 |
是 |
是 |
否 |
|
读写性 |
读写 |
只读 |
读写 |
读写 |
|
存储方式 |
值 |
值 |
键值对(键不可重复) |
键(不可重复) |
|
添加 |
append |
只读 |
add |
d[‘key’]=’value’ |
三、词频统计
1.下载一长篇小说,存成utf-8编码的文本文件 file
2.通过文件读取字符串 str
3.对文本进行预处理
4.分解提取单词 list
5.单词计数字典 set , dict
6.按词频排序 list.sort(key=lambda),turple
7.排除语法型词汇,代词、冠词、连词等无语义词
- 自定义停用词表
- 或用stops.txt
8.输出TOP(20)
9.可视化:词云
排序好的单词列表word保存成csv文件
import pandas as pd
# 打开小说
f = open(r'..\Lin\file_text\Sophies World.txt', 'r', encoding='utf8')
book = f.read()
f.close() book_symbol = ['\n', '\t', '?', '?', '!', "!"," '", "'", ' "', '"', '""', ',', ',', '.', '。','“','”',','] # 删除标点符号
for i in book_symbol:
book = book.replace(i, '') # 把所有的小写 以空格分隔开
book = book.lower().split() # 打开停用词
f = open(r'..\Lin\file_text\stops.txt', 'r', encoding='utf8')
stops = f.read()
f.close()
# 删除多余符号
stop_symbol = [" '", "'", ' "', '"', '\n']
for i in stop_symbol:
stops = stops.replace(i, '')
# 以逗号分隔
stops = stops.split(',')
word_dict = {} # 创建词典 # 去掉停用词
word_set = set(book) - set(stops) # 遍历计算词频
for i in word_set:
word_dict[i] = book.count(i) word_count = list(word_dict.items())
word_count.sort(key = lambda x:x[1], reverse = True)
pd.DataFrame(data=word_count[0:20]).to_csv('Sophies World.csv', encoding='utf-8')
结果:

菜鸟学IT之python3关于列表,元组,字典,集合浅认识!的更多相关文章
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python_列表——元组——字典——集合
列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)
列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...
- Day 07 数据类型的内置方法[列表,元组,字典,集合]
数据类型的内置方法 一:列表类型[list] 1.用途:多个爱好,多个名字,多个装备等等 2.定义:[]内以逗号分隔多个元素,可以是任意类型的值 3.存在一个值/多个值:多个值 4.有序or无序:有序 ...
- Python数据类型-布尔/数字/字符串/列表/元组/字典/集合
代码 bol = True # 布尔 num = 100000000; # 数字 str = "fangbei"; # 字符串 str_cn = u"你好,方倍" ...
随机推荐
- 跟我一起学opencv 第三课之图像在opencv中的表示-Mat对象
1.下面第一章图是一位美女图像,和其他数据一样图像在计算机中也是以二进制存储,下面第二张图 2.在摄像头眼里一幅图像就是一个矩阵或者说是二维数组,数组元素是像素值 3.opencv中以Mat对象表示图 ...
- Python爬虫入门教程 51-100 Python3爬虫通过m3u8文件下载ts视频-Python爬虫6操作
什么是m3u8文件 M3U8文件是指UTF-8编码格式的M3U文件. M3U文件是记录了一个索引纯文本文件, 打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放. ...
- Docker 查看镜像信息
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 文章首发个人网站: https://ww ...
- 一次生产 CPU 100% 排查优化实践
前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题. 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不过还好是不同的环 ...
- 《前端之路》之 operator 操作符的优先级
Github传送门,欢迎 Star - - Github地址,欢迎 Star
- centos7下搜狗输入法的安装教程
相信用过centos自带的输入法的朋友都会感叹这也实在是太难用了吧,使用拼音打出来的词总是不能在前几个匹配到,即使是一些常用词也是如此,简直无法忍受跟个zz似的.吐槽完了,这里给出centos7下搜狗 ...
- SLAM+语音机器人DIY系列:(四)差分底盘设计——3.底盘通信协议
摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...
- 39.QT-Qtxlsx库使用
之前参考博客https://blog.csdn.net/c3060911030/article/details/51560239下载Qtxlsx库,然后编译的时候,显示: error: invalid ...
- Spring-注解实现IOC
一.定义 注解:是一种标记式的配置方式,与XML配置文件不同,注解提供了更大的便捷性,易于维护修改,但是耦合度高. 本质:是一个继承了 Annotation 接口的接口,注解本身并没有什么作用,通过特 ...
- es6 proxy代理
es6 新增构造函数 Proxy Proxy 构造函数,可以使用new 去创建,可以往里面插入两个参数,都是对象 let target = {} let handler = {} let proxy ...