本篇介绍python中集合、序列、字典相关数据类型;

1、集合类型及操作:

集合类型的定义:集合是多个元素的无序组合,集合和数学中集合类型概念一致;集合之间元素无序,每个元素唯一,不存在相同元素,集合元素不可更改,不能是可变数据类型;

集合是多个元素的数据组合,使用{}大括号表示,元素间用逗号分隔,建立集合类型使用{}或者set(),建立空集合类型使用set()集合定义

集合操作符:

python提供了集合有6中操作符,除了并、交、差、补外还提供了集合间关系操作符<=,>=,集合操作符

同时python语法提供了集合的增强操作符:集合的增强操作符

集合处理方法:

python有多种集合操作符,具体如下:集合操作函数1集合操作函数2

集合类型应用场景:

集合可以判断字符是否存在于集合中,可以用于数据去重场景,集合类型所有数据无重复;

2、序列类型及操作(元组和列表):

序列定义:序列是具有先后顺序的一组数;

序列是一维元素向量,元素类型可以不同,类似与数学元素序列,元素间由序号引导,通过下标访问序列的特定元素;

序列是一个基类类型,包括字符串类型、元组类型、列表类型,都遵循正向递增,反向递减规则;

序列处理函数和方法:

序列类型通用操作符包括如下:序列操作符

序列类型通用函数和方法:序列函数和方法

元组类型及操作:

元组是序列的一种扩展,元组是一种序列类型一旦创建就不能修改,使用小括号()或者tuple()创建,元素间使用逗号分隔,可以使用或者不使用小括号;

元组类型继承了序列类型的全部通用类型的操作,元组一旦创建不能修改因此没有特殊操作,元组可以使用小括号也可以不使用小括号;

列表类型及操作:

列表是序列类型的一种扩展,十分常用,列表是一种序列类型创建后可以随意修改,使用[]或者list()创建,元素间使用逗号分割,列表中各元素类型可以不同,没有长度限制;

列表类型操作函数和方法:列表操作函数和方法列表操作函数和方法

序列类型应用场景:

元组用于不改变的应用场景,更多用于固定搭配场景;

列表更加灵活,是常用的序列类型;

序列类型主要作用是表示一组有序数据,进而操作它们;

主要用于元素遍历、数据保护;

3、实例:基本统计值和计算;

需求:给出一组数据,对这一组数据需要有一个概要理解;(总个数、求和、平均值、方差)

#calstatisticsv1.py

def getNum():

nums = []

iNumstr = input("请输入数字(回车退出):")

while iNumstr != "":

nums.append(eval(iNumstr))

iNumstr = input("请输入数字(回车退出):")

return nums

def mean(numbers):#计算平均值

s = 0.0

for num in numbers:

s = s + num

return s/len(numbers)

def dev(numbers,mean):#计算方差

sdev = 0.0

for num in numbers:

sdev = sdev + (num - mean)**2

return pow(sdev / (len(numbers)-1),0.5)

def median(numbers):#计算中位数

sorted(numbers)

size = len(numbers)

if size % 2 == 0:

med = (numbers[size//2-1]+numbers[size//2])/2

else:

med = numbers[size//2]

return med

n = getNum()

m = mean(n)

print("平均值:{},方差:{:.2},中位数:{}。".format(m,dev(n,m),median(n)))

4、字典类型及操作;

字典类型定义:字典是一种键(索引)和值(数据)的对应;字典的映射类型是由用户为数据定义的索引;

字典是键值对的集合,键值对间是无序的;采用大括号{}和dict()创建,键值对使用冒号:表示;

在字典中通过键获取值;

字典处理函数和方法:

字典基本函数处理方法:字典函数字典函数1

字典类型应用场景:

映射无处不在,统计数据出现的次数,数据是键值是次数;请求返回的json

或者请求的json参数都是一种意义上的字典;

5、jieba库的使用:

中文文本需要通过分词获得单个的词语;jieba是优秀的python中文分词第三方库,需要额外安装,jieba提供三种分词模式,最简单的需要掌握一个函数;

安装:在cmd中使用pip install jieba 自动下载安装;

jieba分词依靠中文字符之间的关联概率,中文间概率大的组成词组,形成分词结果,除了分词用户还可以添加自定义词组;

jieba分为三种使用模式:精确模式、全模式、搜索引擎模式;

精确模式:是把文本精确的切分开,不存在多余的单词;

全模式:把文本中所有可能的词语扫描出来,有多余的单词;

搜索引擎模式:在精确基础之上再对长词进行切分;

jieba库常用函数:jieba库基本函数jieba库基本函数

6、文本词频统计问题分析:

需求:对一篇文本中出现了哪些词,哪些词出现的频率最高?或者一本小说中人物出场次数......

#哈姆雷特英文中词频统计;

#calhamletv1.py

def getText():

txt = open("hamlet.txt","r").read()

txt = txt.lower()

for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':

txt = txt.replace(ch," ")

return txt

hamlettxt = getText()

words = hamlettxt.split()

counts = {}

for word in words:

counts[word] = counts.get(word,0) + 1

items = list(counts.items())

items.sort(key = lambda x:x[1],reverse = True)

for i in range(10):

word,count = items[i]

print("{0:<10}{1:>5}".format(word,count))

三国演义出场人物统计:

#calthreekingdomsv1.py

import jieba

txt = open("threekingdoms.txt","r",encoding="utf-8").read()

excludes = {"将军","却说","荆州","二人","不可","不能","如此","商议","如何","主公","军士","左右"

,"军马","引兵","次日","大喜","天下","东吴","于是",

"今日","不敢","魏兵","陛下","人马","一人","都督",

"不知","汉中"}

words = jieba.lcut(txt)

counts = {}

for word in words:

if len(word)==1:

continue

elif word == "诸葛亮" or word == "孔明曰":

rword = "孔明"

elif word == "关公" or word == "云长":

rword = "关羽"

elif word == "玄德" or word == "玄德曰":

rword = "刘备"

elif word == "孟德" or word == "丞相":

rword = "曹操"

else:

rword = word

counts[rword] = counts.get(rword,0)+1

for word in excludes:

del counts[word]

items = list(counts.items())

items.sort(key = lambda x:x[1],reverse=True)

for i in range(10):

word,count = items[i]

print("{0:<10}{1:>5}".format(word,count))

python复合数据类型_python—组合数据类型相关推荐

  1. python关于组合数据类型_python组合数据类型

    <python组合数据类型>由会员分享,可在线阅读,更多相关<python组合数据类型(73页珍藏版)>请在人人文库网上搜索. 1.Python语言程序设计,第6章 组合数据类 ...

  2. 从零开始学Python(六) 组合数据类型

    从零开始学Python(六) 组合数据类型 思维导图: 一.集合类型及操作 1.集合类型定义 集合是多个元素的无序组合: ①集合类型与数学中的集合概念一致 ②集合元素之间无序,每个元素唯一,不存在相同 ...

  3. Python Revisited Day 03 (组合数据类型)

    文章目录 第三章 组合数据类型 3.1 序列类型 3.1.1 元组 3.1.2 命名的元组 (collections.nametuple()) 3.1.3 列表 (查询有关函数点这) 3.1.4 列表 ...

  4. python常见的数据类型_Python常见数据类型及操作

    基础数据类型 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则 ...

  5. python复数类型转换_Python 复数数据类型详解(complex)[学习 Python 必备基础知识][看此一篇就够了]...

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 复 ...

  6. python可变数据类型和不可变数据类型_python 可变数据类型和不可变数据类型

    python 可变数据类型和不可变数据类型 发布时间:2020-03-06 12:59:51 来源:51CTO 阅读:288 作者:qq5d6f345f0205e python数据类型分别有整数int ...

  7. python中有序数据类型_Python的数据类型总结

    原地可变类型和不可变类型 原地不可变类型又叫可哈希(hashable)类型,原地可变类型又叫不可哈希类型. 原地不可变类型: 数字类型:int, float, decimal.Decimal, fra ...

  8. python语言中包含的标准数据类型_python标准数据类型(笔记一)

    关于python,它是一种解释型,面对对象,带有动态语义的高级程序设计语言. 之前学习python的时候,简单的将python的基础内容过了一遍,然后在工作中需要用到什么就相应的去加深某一模块的需求以 ...

  9. python数据类型变量_python的数据类型与变量

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形. 音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的 ...

最新文章

  1. eclipse中egit插件使用
  2. python实现高校教务管理系统_python+mysql实现教务管理系统
  3. 微服务基础架构的5个关键问题
  4. mysql查询2020年之前_2020年成人高考成绩如何查询?2020年成考录取结果如何查询?...
  5. 7个免费的Linux FTP客户端工具
  6. Kogito人机规则-第1部分:进一步解决流口水
  7. 工厂方法模式及php实现
  8. 有多少人欠网贷,往后的日子你打算怎么过?
  9. 计算机组成之总线结构
  10. DX11编程之计算着色过滤器
  11. 一元多次方程近似解法
  12. VMware下载,安装及创建虚拟机
  13. java微信扫码登录代码在这里
  14. Efficient Exchange DP 二维DP
  15. ctf从零到入门0x04:(转载)ctf中最全的(脑洞大开的加密方法)
  16. core razor是什么_什么是Blazor和什么是Razor Components?
  17. 【计算机物理模拟】-力矩、转动惯量和角速度之间的关系
  18. Kong系列-05-使用入门
  19. 旁路电容和去耦电容的通俗解释
  20. 文件误删怎么办?恢复误删的数据,就靠这4种方法

热门文章

  1. R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中、多个数据列可视化在多个图中(纵向多个子图)
  2. plotly基于dataframe数据绘制股票自定义K线图
  3. GPU信息查看以及确认Pytorch使用了GPU计算模块进行深度学习的训练
  4. 王者荣耀装备测试软件,王者荣耀首度公开5v5 PVP自动化测试方案
  5. Selenium自动化测试驱动下载
  6. android 固定底部,如何将view固定在屏幕底部?
  7. php doss_php下ddos攻击与防范代码
  8. linux-多任务同步和互斥
  9. python txt文件读写(追加、覆盖)
  10. LeetCode 613. Shortest Distance in a Line --SQL