文章目录
知识导图
组合数据类型的基本概念
Python语言中最常用的组合数据类型有3大类,分别是集合类型、序列类型和映射类型。
集合类型概述
集合类型是一个元素集合,是无序组合,用大括号{}表示,集合中的元素可以动态的增加或减少。集合中的元素不可重复,元素类型只能是不可变数据类型,如:整数、浮点数、字符串、元组等,相比而言,列表、字典和集合类型本身都是可变数据类型,不可作为集合的元素。
集合的输出顺序与定义顺序可以不一样,由于集合元素是独一无二的 ,使用集合类型可以过滤掉重复元素。
T={
"1010",12.3,1010}
print(T)
结果
{
12.3, 1010, '1010'}
T={
"1010",12.3,1010,1010,1010}
print(T)
结果
{
'1010', 12.3, 1010}
集合类型有4个操作符,交集(&),并集(|),差集(-),补集(^),如下表
集合类型有一些常用的操作函数或方法,如下表
set(x)函数将其他的组合数据类型变成集合类型,set()函数也可以生成空集合变量。
S=set('知之为知之不知为不知')
print(S)
for i in S:
print(i,end="")
结果
{
'不', '之', '为', '知'}
不之为知
序列类型概述
序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。本语言中又很多数据类型都是序列类型,比较重要的是字符串类型、列表类型和元组类型。
序列类型通用操作符和函数。如下表
元组类型是序列类型的重要组成之一。
t=(1,2,3)
print(type(t))
结果
<class 'tuple'>
元组一旦定义就不能修改。因此在一些编程中,通常以列表类型替代元组类型使用。元组类型主要在Python语法相关的场景使用。例如,当函数返回多个值时,多个返回值以元组类型返回,实际上是返回一个数据类型。
def f(x):
return x,x+1,x+2
print(f(1))
print(type(f(1)))
结果
(1, 2, 3)
<class 'tuple'>
映射类型概述
映射类型是“键—值”数据项组合,即元素(key,value),元素之间是无序的。
列表类型
列表的定义
列表是有序序列,属于序列类型。列表可以进行元素的增加,删除,替换、查找等操作。元素类型可以不同。可通过list(x)函数将集合或字符串类型转换成列表类型。
list()函数可生成空列表。
print(list('列表可由字符串生成'))
结果
['列', '表', '可', '由', '字', '符', '串', '生', '成']
列表的索引
索引号不能超过列表的元素范围,否会产生IndexError错误。
>>> ls=[1010,"1010",[1010,"1010"],1010]
>>> ls[3]
1010
>>> ls[-2]
[1010, '1010']
>>> ls[5]
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
ls[5]
IndexError: list index out of range
</