Python Sequence:序列,列表list、元组tuple

一、组合数据类型container objects

在这里插入图片描述
组合数据类型container objects:能够表示多个数据的类型
集合类型:集合类型是一个元素集合,元素无序不重不变
序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
映射类型:映射类型是“键-值”数据项的组合,元素无序不重键不可变值可变可不变,每个元素是一个键值对。映射类型的典型代表是字典类型
集合类型是一个具体的数据类型名称,而序列类型和映射类型是一类数据类型的总称。
不可变数据类型:immutable,如数字、元组、字符串
可变数据类型:mutable,如列表、集合、字典
可迭代对象:iterable,如range()、序列(列表元组字符串)、集合、字典、文件,generator
不可迭代对象:如数字

很多函数的参数以及返回值都是iterable:map(), filter() ,zip() ,range(), dict.keys(), dict.items() 和 dict.values()

二、序列

序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
Python Sequence:序列,列表list、元组tuple_第1张图片

  • 因为有序,元素就可以相同,元素类型可以不同
  • 序列类型是一个基类类型。列表元组字符串都是序列类型的衍生,序列类型的所有操作函数方法在列表元组字符串中都适用,同时列表元组字符串又具有各自的特点:
    Python Sequence:序列,列表list、元组tuple_第2张图片
    Python Sequence:序列,列表list、元组tuple_第3张图片
    Python Sequence:序列,列表list、元组tuple_第4张图片
    切片和步长切片:含i,但不含j
    Python Sequence:序列,列表list、元组tuple_第5张图片
    Python Sequence:序列,列表list、元组tuple_第6张图片
    min(x), max(x),要求x是相同类型元素,否则异常
    Python Sequence:序列,列表list、元组tuple_第7张图片

三、元组类型

序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
Python Sequence:序列,列表list、元组tuple_第8张图片
元组的元素,可以是不可变数据类型,也可以是可变数据类型
但是,元组一旦定义,元素就不能变了

Python Sequence:序列,列表list、元组tuple_第9张图片
Python Sequence:序列,列表list、元组tuple_第10张图片

程序会把由逗号分隔的多个值,以元组处理:
Python Sequence:序列,列表list、元组tuple_第11张图片
Python Sequence:序列,列表list、元组tuple_第12张图片
元组类型一旦定义,里面的元素就不能改变。

当函数返回多个值时,多个返回值以元组类型返回,实际上返回一个数据类型。
Python Sequence:序列,列表list、元组tuple_第13张图片
使用切片对元组进行切片,并不改变原先元组的值及顺序,而是生成了一个新的元组。
Python Sequence:序列,列表list、元组tuple_第14张图片

三、列表类型

序列类型:序列类型是一个元素向量,元素有序可重可变可不变。序列类型的典型代表是列表类型、元组类型、字符串类型(但元组一旦定义,元素就不能变了)
列表可以进行元素的增加、删除、替换、查找等操作,列表没有长度限制,元素类型可以不痛,不需要预定义长度。
Python Sequence:序列,列表list、元组tuple_第15张图片
Python Sequence:序列,列表list、元组tuple_第16张图片
使用list(x)创建列表,x必须是iterable,否则异常TypeError
Python Sequence:序列,列表list、元组tuple_第17张图片
Python Sequence:序列,列表list、元组tuple_第18张图片
索引时,序号不能超出范围
Python Sequence:序列,列表list、元组tuple_第19张图片
切片和步长切片:含i,不含j,如果有:,含开头
一般要求j大于i,当i大于等于j时,返回空列表
Python Sequence:序列,列表list、元组tuple_第20张图片
Python Sequence:序列,列表list、元组tuple_第21张图片
列表操作函数
len(ls):列表ls的元素个数
min(ls):列表ls中的最小元素,ls中元素类型须相同才能比较
max(ls):列表ls中的最大元素,ls中元素类型须相同才能比较
list(x):将x转变成列表类型,list(x),x须为iterable。如果x是dict,返回的是key组成的列表
Python Sequence:序列,列表list、元组tuple_第22张图片
Python Sequence:序列,列表list、元组tuple_第23张图片
Python Sequence:序列,列表list、元组tuple_第24张图片
Python Sequence:序列,列表list、元组tuple_第25张图片
list.append(x),在列表list最后增加一个元素x(位置:最后。数量:一个)
如果要在列表最后增加多个元素,可以使用 ls +lt 加号连接
如果要在列表最后增加多个元素,也可以使用ls.extend(lt)
如果要在列表任意位置增加,可以使用list.insert(index, object), object可以是任意类型

Python Sequence:序列,列表list、元组tuple_第26张图片
Python Sequence:序列,列表list、元组tuple_第27张图片
list.insert(index, object),在列表序号index位置上增加object,序号index之后的元素序号依次增加。
Python Sequence:序列,列表list、元组tuple_第28张图片
list.clear(),删除list所有元素,清空列表
list.pop(index=-1),返回列表list中序号为index的元素,并将该元素从列表中删除,无index,默认删除最后一个元素
(set.pop(),无参数,随机删除集合s中的一个元素,并可返回pop的值,当集合s为空时pop()异常KeyError)
list.remove(x),删除列表list中第一次出现的x元素,如果list中不存在x,会报错
为防报错,使用之前先判断 x in list,或list.count(x)
del list[i:j:n],删除列表list中的元素或片段,含i,不含j
Python Sequence:序列,列表list、元组tuple_第29张图片
在这里插入图片描述
Python Sequence:序列,列表list、元组tuple_第30张图片
list.reverse(),将列表list中的元素逆序翻转。同list[::-1]
Python Sequence:序列,列表list、元组tuple_第31张图片
list.copy(),复制list,返回一个新列表,是两个不同的列表,更改一个另一个不受影响
ls =lt,直接赋值方式并不能产生新列表,仅是为列表增加一个别名,修改lt,同时也就更改了ls
Python Sequence:序列,列表list、元组tuple_第32张图片
Python Sequence:序列,列表list、元组tuple_第33张图片
Python Sequence:序列,列表list、元组tuple_第34张图片
Python Sequence:序列,列表list、元组tuple_第35张图片
Python Sequence:序列,列表list、元组tuple_第36张图片
Python Sequence:序列,列表list、元组tuple_第37张图片
Python Sequence:序列,列表list、元组tuple_第38张图片
Python Sequence:序列,列表list、元组tuple_第39张图片
PS: source python.123

你可能感兴趣的:(Python语法,python)