【python二级等考】python语言程序设计(六)

【第六章】组合数据类型

在这里插入图片描述

一、组合数据类型的基本概念

Python语言中最常用的组合数据类型有3大类,分别是集合类型、序列类型和映射类型。
集合类型是一个具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称。

集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。
序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。序列类型的典型代表是字符串类型和列表类型。
映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。映射类型的典型代表是字典类型。
在这里插入图片描述

  • 集合类型概述

Python语言中的集合类型与数学中的集合概念一致,即包含0个或多个数据项的无序组合。
集合是无序组合,用大括号({})表示,它没有索引和位置的概念,集合中元素可以动态增加或删除。

集合中元素不可重复,元素类型只能是固定数据类型,例如:整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现。
需要注意,由于集合元素是无序的,集合的打印效果与定义顺序可以不一致。由于集合元素独一无二,使用集合类型能够过滤掉重复元素。

集合类型有4个操作符,交集(&)、并集(|)、差集(-)、补集(^),操作逻辑与数学定义相同。

集合类型有一些常用的操作函数或方法:
在这里插入图片描述

集合类型主要用于元素去重,适合于任何组合数据类型。

  • 序列类型概述

序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。
由于元素之间存在顺序关系,所以序列中存在相同数值但位置不同的元素。Python语言中有很多数据类型都是序列类型,其中比较重要的是:字符串类型和列表类型,此外还包括元组类型。

字符串类型可以看成是单一字符的有序组合,属于序列类型。列表则是一个可以使用多种类型元素的序列类型。序列类型使用相同的索引体系,即正向递增序号和反向递减序号。
在这里插入图片描述
序列类型有一些通用的操作符和函数:
在这里插入图片描述

  • 映射类型概述
    映射类型是“键-值”数据项的组合,每个元素是一个键值对,即元素是(key, value),元素之间是无序的。键值对是一种二元关系,源于属性和值的映射关系。

映射类型是序列类型的一种扩展。在序列类型中,采用从0开始的正向递增序号进行具体元素值的索引。而映射类型则由用户来定义序号,即键,用其去索引具体的值。
键(key)表示一个属性,也可以理解为一个类别或项目,值(value)是属性的内容,键值对刻画了一个属性和它的值。键值对将映射关系结构化,用于存储和表达。

二、列表类型

  • 列表类型的定义
    列表是包含0个或多个元组组成的有序序列,属于序列类型。列表可以元素进行增加、删除、替换、查找等操作。列表没有长度限制,元素类型可以不同,不需要预定义长度。
    列表类型用中括号([])表示,也可以通过list(x)函数将集合或字符串类型转换成列表类型。

列表属于序列类型,所以列表类型支持序列类型对应的操作

  • 列表的索引

索引是列表的基本操作,用于获得列表的一个元素。使用中括号作为索引操作符。

>>>ls = [1010, "1010", [1010, "1010"], 1010]
>>>ls[3]
1010
>>>ls[-2]
[1010, '1010']
>>>ls[5]
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    ls[5]
IndexError: list index out of range

可以使用遍历循环对列表类型的元素进行遍历操作,基本使用方式如下:

for  <循环变量>  in  <列表变量>:
	 <语句块> 
>>>ls = [1010, "1010", [1010, "1010"], 1010]
>>>for i in ls:
        print(i*2)
2020
10101010
[1010, '1010', 1010, '1010']
2020
  • 列表的切片
    切片是列表的基本操作,用于获得列表的一个片段,即获得一个或多个元素。切片后的结果也是列表类型。切片有两种使用方式:
<列表或列表变量>[N: M]<列表或列表变量>[N: M: K]

切片获取列表类型从N到M(不包含M)的元素组成新的列表。当K存在时,切片获取列表类型从N到M(不包含M)以K为步长所对应元素组成的列表。

>>>ls = [1010, "1010", [1010, "1010"], 1010]
>>>ls[1:4]
['1010', [1010, '1010'], 1010]
>>>ls[-1:-3]
[]
>>>ls[-3:-1]
['1010', [1010, '1010']]
>>>ls[0:4:2]
[1010, [1010, '1010']]

三、列表类型的操作

列表类型继承序列类型特点,有一些通用的操作函数
在这里插入图片描述

>>>ls = [1010, "1010", [1010, "1010"], 1010]
>>>len(ls)
4
>>>lt = ["Python", ["1010", 1010, [1010, "Python"]]]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值