python复合数据类型_python—组合数据类型
本篇介绍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—组合数据类型相关推荐
- python关于组合数据类型_python组合数据类型
<python组合数据类型>由会员分享,可在线阅读,更多相关<python组合数据类型(73页珍藏版)>请在人人文库网上搜索. 1.Python语言程序设计,第6章 组合数据类 ...
- 从零开始学Python(六) 组合数据类型
从零开始学Python(六) 组合数据类型 思维导图: 一.集合类型及操作 1.集合类型定义 集合是多个元素的无序组合: ①集合类型与数学中的集合概念一致 ②集合元素之间无序,每个元素唯一,不存在相同 ...
- Python Revisited Day 03 (组合数据类型)
文章目录 第三章 组合数据类型 3.1 序列类型 3.1.1 元组 3.1.2 命名的元组 (collections.nametuple()) 3.1.3 列表 (查询有关函数点这) 3.1.4 列表 ...
- python常见的数据类型_Python常见数据类型及操作
基础数据类型 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,"汉"是文字,否则 ...
- python复数类型转换_Python 复数数据类型详解(complex)[学习 Python 必备基础知识][看此一篇就够了]...
您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 复 ...
- python可变数据类型和不可变数据类型_python 可变数据类型和不可变数据类型
python 可变数据类型和不可变数据类型 发布时间:2020-03-06 12:59:51 来源:51CTO 阅读:288 作者:qq5d6f345f0205e python数据类型分别有整数int ...
- python中有序数据类型_Python的数据类型总结
原地可变类型和不可变类型 原地不可变类型又叫可哈希(hashable)类型,原地可变类型又叫不可哈希类型. 原地不可变类型: 数字类型:int, float, decimal.Decimal, fra ...
- python语言中包含的标准数据类型_python标准数据类型(笔记一)
关于python,它是一种解释型,面对对象,带有动态语义的高级程序设计语言. 之前学习python的时候,简单的将python的基础内容过了一遍,然后在工作中需要用到什么就相应的去加深某一模块的需求以 ...
- python数据类型变量_python的数据类型与变量
计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形. 音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的 ...
最新文章
- eclipse中egit插件使用
- python实现高校教务管理系统_python+mysql实现教务管理系统
- 微服务基础架构的5个关键问题
- mysql查询2020年之前_2020年成人高考成绩如何查询?2020年成考录取结果如何查询?...
- 7个免费的Linux FTP客户端工具
- Kogito人机规则-第1部分:进一步解决流口水
- 工厂方法模式及php实现
- 有多少人欠网贷,往后的日子你打算怎么过?
- 计算机组成之总线结构
- DX11编程之计算着色过滤器
- 一元多次方程近似解法
- VMware下载,安装及创建虚拟机
- java微信扫码登录代码在这里
- Efficient Exchange DP 二维DP
- ctf从零到入门0x04:(转载)ctf中最全的(脑洞大开的加密方法)
- core razor是什么_什么是Blazor和什么是Razor Components?
- 【计算机物理模拟】-力矩、转动惯量和角速度之间的关系
- Kong系列-05-使用入门
- 旁路电容和去耦电容的通俗解释
- 文件误删怎么办?恢复误删的数据,就靠这4种方法
热门文章
- R语言使用ggplot2同时可视化dataframe的多个数据列实战:多个数据列可视化在同一个图中、多个数据列可视化在多个图中(纵向多个子图)
- plotly基于dataframe数据绘制股票自定义K线图
- GPU信息查看以及确认Pytorch使用了GPU计算模块进行深度学习的训练
- 王者荣耀装备测试软件,王者荣耀首度公开5v5 PVP自动化测试方案
- Selenium自动化测试驱动下载
- android 固定底部,如何将view固定在屏幕底部?
- php doss_php下ddos攻击与防范代码
- linux-多任务同步和互斥
- python txt文件读写(追加、覆盖)
- LeetCode 613. Shortest Distance in a Line --SQL