1.列表,元组,字典,集合分别如何增删改查及遍历。
#1.列表
list1 = ['gakki','masami', 1988, 1987]
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] = 2001
print ("更新后的第三个元素为 : ", list2[2])
#查找
list4=['Boyoung','gakki','masami']
a=list4.index('Boyoung')
print(a)
#2.元组
a = ['Gakki','ranks','first','in','the','world']
print(a[1:]) # 从左到右 下标1取到最后
print(a[1:-1]) # 从左到右 从下标1取到倒数第二个
print(a[1:-1:2]) # 从左到右 从下标1开始取到倒数第二个 步长为2
print(a[0::2]) # 从左到右 从下标0开始取到最后 步长为2
print(a[5::-2]) # 从右到左 从下标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)
#3.字典
dict = {"gakki":"朴宝英", "masami":"长泽雅美"}
#增加
dict.setdefault("parkboyoung","朴宝英")
print("增加后的字典:",dict)
#删除
del dict['parkboyoung']
print("删除后的字典:",dict)
#修改
dict['gakki'] = 1988;
dict['masami'] = "1987"
print("修改后的字典:",dict)
#查找
print(dict["gakki"])
print(dict.get("masami"))#打印对应的内容,key不存在返回none
print(dict.get("parkboyoung"),"这个键不存在")#key不存在返回输入的内容
#4.集合
nice ={1:'yes', 2:'no', 3:'1000'}
print('字典')
print(nice)
nice.update({4: '21'})
print('dict[4] = "hello"')#增加
print(nice)
del nice[1]
print('del dict[2]')#删除
print(nice)
print('dict1[4]')#查找
print(nice[4])
2.总结列表,元组,字典,集合的联系与区别。参考以下几个方面:
- 括号
- 有序无序
- 可变不可变
- 重复不可重复
- 存储与查找方式
列表:
括号:有括号:[]
有序无序:有序
可变不可变:可变
重复不可重复:可重复
存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
元组:
括号:有括号:()
有序无序:有序
可变不可变:不可变
重复不可重复:可重复
存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
字典:
括号:有括号:{}
有序无序:无序
可变不可变:可变,根据key改变键值
重复不可重复:key不可重复,键值可重复
存储与查找方式:根据key存储和查找所对应的键值
集合:
括号:有括号:()
有序无序:无序
可变不可变:可变
重复不可重复:不可重复
存储与查找方式:顺序查找和根据下标查找,存储根据对应下标存储
3.词频统计
-
1.下载一长篇小说,存成utf-8编码的文本文件 file
2.通过文件读取字符串 str
3.对文本进行预处理
4.分解提取单词 list
5.单词计数字典 set , dict
6.按词频排序 list.sort(key=lambda),turple
7.排除语法型词汇,代词、冠词、连词等无语义词
- 自定义停用词表
- 或用stops.txt
代码块:
import string
import pandas as pd
##定义获取文件并处理函数
def getstr():
txt = open(r"..python1what", "r").read().lower()
for c in string.punctuation:
txt = txt.replace(c, " ")
return txt
'''将文本分成单词'''
txtDC=getstr().split()
#过滤无意词
ex = {'a','an','and','was','as','up','my','it','here','at','ll','his','s','he','that','from','had','have','we','the','i','you','in','on','but','with','not','by','its','for','of','to'}
txtSet=set(txtDC)-ex
'''单词统计'''
txtDic = {}
for word in txtSet:
txtDic[word] = txtDC.count(word)
#排序
wordList = list(txtDic.items())
wordList.sort(key=lambda x:x[1],reverse=True)
#输出top20
for i in range(20):
print(wordList[i])
#保存为csv文件
pd.DataFrame(data=wordList).to_csv('ToMyTex.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://wordart.com/create
