组合数据类型container objects:能够表示多个数据的类型
集合类型:集合类型是一个元素集合,元素无序不重不变
序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
映射类型:映射类型是“键-值”数据项的组合,元素无序不重键不可变值可变可不变,每个元素是一个键值对。映射类型的典型代表是字典类型
集合类型是一个具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称。
不可变数据类型:immutable,如数字、元组、字符串
可变数据类型:mutable,如列表、集合、字典
可迭代对象:iterable,如range()、序列(列表元组字符串)、集合、字典、文件,generator
不可迭代对象:如数字
很多函数的参数以及返回值都是iterable:map(), filter() ,zip() ,range(), dict.keys(), dict.items() 和 dict.values()
(一)基,基本概念
tuple,有序序列,一旦定义就不能改不能增加不能删除,immutable
特点:①速度快,②安全,③元组可以作为dict的key
序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
(二)建
tuple(object),把object转换成tuple,object须为iterable
一个元素的元组,须在后面加个逗号,否则被当做int
(三)增,删,改
元组一旦创建,就不能被修改了。
如果要改变,就只能再新建一个。如下,不同的内存地址,指向一个a,不是一个元组:
a = (1, 2, 3)
print(id(a))
a = (2, 3, 5)
print(id(a))
输出:
2040914235624
2040914237064
## (四)查
(六)切片
适用序列的索引、切片
(七)复制
适用序列的复制。
PS: source, bilibili