【大数据】复合数据类型,英文词频统计

作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2696

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

 列表:

代码:#
num = ["a","b","c"]     # 列表:定义后可增删改查
print('增加:\n元素原本为:{}'.format(num))
num.append("d")         #默认追加到末尾
print('num.append("d"):末尾添加d 结果:{}'.format(num))
num.insert(4,"e")       #指定下标位置添加元素
print('num.insert(4,"e"):指定下标为4添加e 结果:{}'.format(num))
num.extend("fghi")      #可以分解元素并追加到末尾,也可以增加一个变量里列表
print('num.extend("fghi"):分解元素加到最后 结果:{}\n'.format(num))
#
print('删除:\n元素原本为:{}'.format(num))
num.pop(0)          #按照下标索引删除指定的值
print('num.pop(0):删除第一个元素 结果:{}'.format(num))
num.remove("b")    #按元素删除指定的值
print('num.remove("b"):按元素删除指定的值 结果:{}'.format(num))
del num[0:2]      #可以删除表内数据,也可以切片删除del num[0:2]从下标0个到第二个
print('del num[0:2]:切片删除del num[0:2]从下标0个到第二个 结果:{}'.format(num))
num.clear()        #清除列表内数据
print('num.clear() :清除列表内数据 结果:{}\n'.format(num))
#
num = ["a","b","c"]     # 列表:定义后可增删改查
print('修改:\n元素原本为:{}'.format(num))
num[0] = 'aa'            #通过下标定位到元素直接改
print('pop(0):通过下标定位到元素直接改 结果:{}\n'.format(num))
#
num = ["a","b","c"]     # 列表:定义后可增删改查
print('查询:\n元素原本为:{}'.format(num))
print('num(0):查询到元素的值 结果:num的1号下标是:{}\n'.format(num[0]))
#遍历
num = ["a","b","c"]     # 列表:定义后可便利
print('遍历:\n元素原本为:{}'.format(num))
print('遍历:for i in list: print(i)  结果:')
for i in num:
print(i)

运行结果:
 

元组:

代码:
num = ("a", "b", "c") # 元组 定义后只读 print('元组定义后不能增、删、改,只能查') print('查询:\n元素原本为:{}'.format(num)) print('num(0):查询到元素的值 结果:num的1号下标是:{}\n'.format(num[0]))
运行结果:
  

字典:

代码:
num = {"name": "lengdong", "age": "21"} #采用键值对记录,定义后可增删改查 print('增加:\n元素原本为:{}'.format(num)) num["sex"] ="" print(' num["sex"] ="男":添加一个键值对 结果:{}'.format(num)) # print('删除:\n元素原本为:{}'.format(num)) num.pop("sex") #跟列表中*.pop使用方法一样,但是字典里指定的是元素 print(num) # print('修改:\n元素原本为:{}'.format(num)) num["name"] = '泽锐' #直接指定元素名称(key)就可以改 print(num) # print('查询:\n元素原本为:{}'.format(num)) print(' num.get("name"):查询一个键值对 结果:{}'.format(num.get("name")))
运行结果:
  

元素:

代码:
num = {1,2,3,4,5} #定义一个集合 print('增加:\n元素原本为:{}'.format(num)) num.add(6) print('num.add(6):增加一个元素 结果:{}'.format(num)) print('删除:\n元素原本为:{}'.format(num)) num.remove(1) print('num.remove(1):删除1这个元素,若集合没有1则出错 结果:{}'.format(num)) num.pop() print('num.pop():随机删除一个元素, 结果:{}'.format(num)) print('查询:\n元素原本为:{}'.format(num)) print('1 in num:查询1这个元素是否存在,是则是true, 结果:{}'.format(1 in num)) print('遍历:\n元素原本为:{}'.format(num)) print('for num in set1:print(num):便利整个集合 结果:') for num1 in num: print(num1)
运行结果:
 

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

  • 符号
  • 有序无序
  • 可变不可变
  • 重复不可重复
  • 存储与查找方式
  列表   元祖  字典 集合

符号

 []  ()  {} {}

有序无序

 有序  有序  无序,自动正序 无序

可变不可变

 可变  不可变  不可变 可变

重复不可重复

 可以  可以  可以 不可以

存储与查找方式

 值  值  键值对(键不能重复) 键(不能重复)

 

 

 

 

 

 

 

 

3.词频统计

  • 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
pd.DataFrame(data=word).to_csv('big.csv',encoding='utf-8')

线上工具生成词云:
https://wordart.com/create

 生成的词云:

 

posted on 2019-03-13 14:12  冷冻  阅读(187)  评论(0编辑  收藏  举报

导航