一、概述

计算机不仅仅要对单个变量表示的数据进行处理,还需要对一组数据进行批量处理。如:

给定一组单词{python,data,function,list,loop},计算并输出每个单词的长度。

给定一个学院学生的信息,统计男女生比例

数字类型、浮点数类型和复数类型;这些类型仅能表示一个数据,这种表示单一数据的类型称为基本数据类型。组合数据类型能将多个类型同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易。根据数据之间的关系,组合数据类型可以分为三类:序列类型、集合类型和映射类型

序列类型:是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。

集合类型:是一个元素集合,元素之间无序,相同元素在集合中唯一存在。

映射类型:是键—值数据项的组合,每个元素是一个键值对,表示为(key,value)

二、序列类型

1.简介

序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。由于元素之间存在顺序关系,所以序列中可以存在数值相同但位置不同的元素。序列类型支持成员关系操作符in、长度计算函数len()、分片[]以及元素本身也可以是序列类型。序列类型有str(字符串)、tuple(元组)、list(列表)等。

字符str可以看成是单一字符的有序组合,由于字符串类型十分常用且单一字符串只表达一个含义,也被看做是基本数据类型。元组tuple是包含0个或多个数据项的不可变序列类型,并且元组生成后

是固定的,其中的任何数据项不可替换或者删除。列表list是一个可以修改的数据项序列类型。但无论是哪种,只要是序列类型,都可以使用相同的索引体系,即正向递增序号和反向递减序号。

2.序列类型的通用操作符和函数

x in s          如果x是s的元素,返回True,否则返回False

x not in s         如果x不是s的元素,返回True,否则返回False

s+t           连接s和t

s*n或n*s         将序列s复制n次

s[i]           索引,返回序列的第i个元素

s[i:j]           分片,返回包含序列s的第i到j个元素的子序列(不包含j,左闭右开)

s[i:j:k]          步骤分片,返回包含序列s的第i到第j个元素以k为步数的子序列

len(s)          序列s的元素个数(长度)

min(s)          序列s中的最小元素

max(s)          序列s中的最大元素

s.index(x[,i[,j]])       序列s中从i开始到j位置中第一次出现元素x的位置

s.count(x)         序列s中出现x的总次数

(1)元组是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十便利。

Python中元组采用逗号和圆括号来表示。

如下:

生成元组只需要使用逗号将元素隔离开即可。例如上面的元组creature,也可以增加圆括号,但圆括号在不混淆语义的情况下不是必须的。一个元组可以作为另一个元组的元素,

并且可以采用多级索引来获取信息。

元组的函数多返回值、多变量同步赋值、循环遍历:

(2)列表是包含0个或者多个对象引用的有序序列,属于序列类型。

与元组不同,列表的长度和内容都可变,可以自由的对列表中的数据项进行增加、删除或者替换。列表没有长度限制,元素类型也可以不同。由于列表类型属于序列类型,所以列表也支持成员关系操作符in、长度len()以及分片[]等操作。列表可以同时使用正向递增序号何反向递减序号,也可以采用标准的比较操作符(<=/==/!=/>=/>)进行比较,列表比较其实是单个数据项的逐个比较。

列表用中括号[]表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函会返回一个空列表。

如下:

列表类型特有的函数方法操作:

ls[i]=x           替换列表ls第i项数据为x

ls[i:j]=lt           用列表lt替换列表ls中第i到第j项数据(不包含第j项,下同)

ls[i:j:k]=lt          用列表lt替换列表ls中第i到第j项以k为步长的数据

del ls[i:j]          删除列表ls第i到第j项数据。等价于ls[i:j]=[]

del ls[i:j:k]          删除列表ls第i到第j项以k为步长的数据

ls+=lt或ls.extend(lt)     将列表lt元素增加到列表ls中

ls*=n            更新列表ls,其元素重复n次

ls.append(x)         在列表ls最后增加一个元素x

ls.clear()          删除ls中所有的元素

ls.copy()           生成一个新列表,复制ls中的所有元素

ls.insert(i,x)         在列表第i的位置新增插入元素x

ls.pop(i)           将列表ls中第i项元素取出并删除该元素

ls.remove(x)         将列表ls中出现的第一个元素x删除

ls.reserve()         列表ls中的元素反转

当使用一个列表改变另一个列表时,Python不要求两个列表长度一样,但遵循“多增少减”的原则

如下:

三、集合类型

1.简介

集合类型与数学中的集合一致,即包含0个或多个数据项的无序组合。集合中的元素不可重复,元素类型只能是固定数据类型,例如整数、浮点数、字符串以及元组等。

列表、字典以及集合类型本身都是可变数据类型,不能作为集合元素出现,能够进行哈希运算的类型都可以作为集合的元素。另外,Python提供了一种同名的具体数据类型——集合(set)。

由于集合是无序组合,它没有索引和位置的概念,也没有分片的功能,但集合中的元素可以动态的增删。集合用大括号{}表示,可以用复制语句生成一个集合。

如下:

set(x)函数可以生成集合,输入的参数可以是任何组合数据类型,返回的结果是一个无重复且排序任意的集合。

如下:

2.集合类型的操作函数

S.add(x)        如果数据项x不在集合S中,将x增加到S中

S.clear()        移除S中的所有数据

S.copy()        返回集合S的一个副本

S.pop()         随机返回集合S中的一个元素,如果S为空,产生KeyError异常

S.diacard(x)      如果x在集合S中,移除该元素,如果x不存在,不报错

S.remove(x)如果x在集合S中,移除该元素,如果x不在,产生KeyError错误

S.isdisjoint(T)      如果几何S和集合T没有相同的元素,返回True

len(S)         返回集合S的个数

x in S         如果x是集合S中的元素,返回True,否则返回False

x not in S        如果x不在集合S中,返回True,否则返回False

四、映射类型

1.简介

映射类型是“键—值”的数据项的组合,每个元素是一个键值对,即元素是(key,value),元素之间是无序的,键值对(key,value)是一种二元关系。

键和值通过冒号连接,不同键值对通过逗号隔开。字典是集合类型的延续,所以各个元素并没有顺序之分。键和值可以是任意数据类型,包括程序自定义的类型。

2.字典类型的操作

(1)使用大括号可以创建字典,并制定初始值,通过括号可以增加新元素。

(2)可以直接使用大括号{}创建一个空字典,通过[]向其中增加元素。

(3)尽管集合类型也用大括号{}表示,但是生成一个空集合需要借助set()函数,直接使用{}是生成字典。

3.字典类型的函数和方法

.keys()            返回所有的键信息

.values()           返回所有的值信息

.items()            返回所有的键值对

.get(,)      键存在则返回相应值,否则返回默认值

.pop(,)     键存在则返回相应值,同时删除键值对,否则返回默认值

.popitem()           随机从字典中取出一个键值对,以元组(key,value)形式返回

.clear()            删除所有的键值对

del[]          删除字典中某一个键值对

in            如果键在字典中则返回True,否则返回False

仅用于Python学习笔记

python组合数据类型有哪些_Python学习之组合数据类型相关推荐

  1. python中4j什么意思_Python学习:4.数据类型以及运算符详解

    运算符 一.算数运算: 二.比较运算: 三.赋值运算 四.逻辑运算 五.成员运算 基本数据类型 一.Number(数字) Python3中支持int.float.bool.complex. 使用内置的 ...

  2. 88是python语言的整数类型_Python学习系列之数据类型(三)

    一.Python中的数据类型 常用数据类型: 整数类型:int 浮点类型:float 布尔类型:bool(True,False) 字符串类型:str 1.整数类型: 英文未integer,简写为int ...

  3. python语言的数据类型有哪些_Python语言有哪些数据类型

    在Python中,能够直接处理的数据类型有以下几种: 一.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,100,-80 ...

  4. python内建函数测试对象身份_python 学习笔记day03-python基础、python对象、数字、函数...

    python基础 语句和语法 注释及续行 首要说明的是:尽管python可读性最好的语言之一,这并不意味者程序员在代码中就可以不写注释 和很多UNIX脚本类似,python注释语句从#字符开始 注释可 ...

  5. python游戏编程网课_Python 学习最佳方式_创建游戏_编程一个机器人

    Python 是世界上功能最多且最强大的编程语言之一.使用 Python,你可以编写自己的应用程序,创建游戏.设计算法.甚至编程一个机器人.学习 Python 还可以担任软件工程师.Web 开发人员. ...

  6. python集合类型应用场景_python学习笔记(10)--组合数据类型(集合类型)

    集合类型 集合是多个元素的无序组合,每个元素唯一,不存在相同类型,每个元素是不可变类型.用{}表示,元素间用逗号分隔.建立结合类型用{},或set函数,如果是空集合必须用set. >>&g ...

  7. python的数值类型和运算符_python学习笔记之数据类型---数字类型及运算符

    数据类型 数字类型 整形: height1 = 180 height2 = int(180) height3 = int('180') print(height3) 浮点型: salary1 = 1. ...

  8. python可以处理的文件类型_Python学习笔记之数据类型与文件处理

    1 #!/usr/bin/python3 2 #coding:utf-8 3 from __future__ importprint_function4 importos5 importrandom6 ...

  9. python小括号报错_Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

最新文章

  1. EDAS ScheduleX 问题
  2. 告别苦逼的程序员生涯,我的CTO之路!
  3. 转:ibatis动态sql
  4. iis php报错无法屏蔽,php屏蔽错误消息
  5. 网络相关配置,SSH服务,bash, 元字符
  6. mysql密码正确却提示错误, 不输入密码反而能登录
  7. 二叉树经典题之二叉树最近公共祖先(LeetCode)
  8. oracle常见受权与回收权限 grant和revoke
  9. 知道cve编号怎么搜poc_想在海南买房不知道该怎么选?快来看看这些热搜楼盘吧!...
  10. 你可以退部的,不必说抱歉
  11. OpenCV 实现分水岭算法
  12. arm2410 linux,ARM2410与Linux开发环境的搭建
  13. 凸优化第五章对偶 5.9 广义不等式
  14. java提高篇(十三)-----字符串
  15. Java 实现奇数阶幻方的构造
  16. DELPHI7第三方控件安装
  17. android连接wifi不能上网,手机已经连接wifi但无法上网的详细解决方法
  18. C++游戏---皇后PK
  19. Win10右键菜单没有新建选项怎么解决?
  20. rust自创服务器_用Rust写了一个简单的Web服务器

热门文章

  1. R语言实战应用精讲50篇(十四)-R语言构建层次分析模型
  2. JAVA学习篇--JSP实现原理
  3. 一个高效且友好的TensorFlow图神经网络(GNN)框架:tf_geometric
  4. 实战项目四:爬取911网站
  5. pandas中的括号索引
  6. coding note-源码搜索
  7. day16——函数式编程和内置函数
  8. Docker run 命令【转】
  9. 组合的json文件分隔或者拆分
  10. haproxy 503 service unavailable no server is avaible to handle this request