博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
菜鸟学IT之python3关于列表,元组,字典,集合浅认识!
阅读量:5050 次
发布时间:2019-06-12

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

作业来源:

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

  • 列表

 

# 列表的增加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)

 

结果:

  • 元组

 

1 # 元组2 YZ = ('元','组','的','元','素','不','修','改')3 YZ1 = ('的','!')4 YZ2 = YZ + YZ15 del YZ # 删除元组6 print("元组的遍历:")7 for i in YZ2:8     print("\t\t",i)

 

结果:

  • 字典

 

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

结果:

 

转载于:https://www.cnblogs.com/JGaoLin/p/10549326.html

你可能感兴趣的文章
oracle中所有存在不存在的用户都可以使用dba连接到数据库
查看>>
函数式编程思想
查看>>
java安全沙箱(二)之.class文件检验器
查看>>
Oracle学习之简单查询
查看>>
log4j配置
查看>>
linux 配置SAN存储-IPSAN
查看>>
双链表
查看>>
java学习笔记之String类
查看>>
pymysql操作mysql
查看>>
Linux服务器删除乱码文件/文件夹的方法
查看>>
牛腩记账本core版本源码
查看>>
Word Break II
查看>>
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
无线通讯
查看>>
Mongodb Manual阅读笔记:CH9 Sharding
查看>>
AX2009使用NPOI导出EXCEL2007
查看>>
如何删除NSDictionary或NSArray中的NSNull
查看>>
ueditor 结合easyui使用
查看>>
thymeleaf学习笔记
查看>>
BZOJ4669抢夺(费用流+二分答案)
查看>>