Python数据类型之三
三. 列表类型
List列表是python中使用最频繁的数据类型
它是以逗号分隔的元素集 ( 包括任意6种数据类型 ),并写在[ ]方括号内的组成形式
[ ]内可包含所有数据类型:
1.列表的增删改查
(1) 增:
- append(x):
一次只能增加一个元素x,否则报错:
append()参数添加多个值3和4就报错:
不可通过索引来添加元素,否则越界报错:
4个number数字型:
整型:
浮点型:
布尔型:
复数型:
其余类型:
列表:
元组:
集合:
字典:
- extend(x):
一次增加多个元素(), x必须为可迭代对象( 即除了number数据类型外 ),否则报错:
number型不可迭代
字符串:
列表:
元组:
集合:注意集合的不可重复与无序性
字典:添加字典的key值
推倒式:
- 通过 + list / * n
+ list 拼接列表
* n 重复列表n次
- list.insert( index , obj ):
插入后移
(2) 删(删除与清空)
- 删除一个元素
del方法:del + list [ index ]
pop(x)方法:x指定删除位置,默认最后一个元素,并返回该函数的值
remove(x) 移除列表第一个匹配x的项,找不到就报错
- 删除或清空整个列表
del方法: del + list
删除列表
clear方法: list.clear
清空列表
(3) 改
- 修改元素
不同于字符串类型,list类型可以修改索引对应的元素值
- 切片,截取部分元素
类似于string的操作
截取list片断进行修改:
(4) 查
类似于string字符串类型,通过索引查找:
2.常见列表函数
len()
以list中元素为单位计算列表长度:
max() / min
查找列表元素最大 / 最小值:
- 在列表中,每个元素内部,以从左往右的优先级,按照每个字符在ASCII值种的大小进行比较(使用ord() 函数来查看ASCII值 )
- 不同标准数据类型不可比较大小( 即str与number不可比较,但是同属于number标准数据类型的int,float,bool之间可以比较大小,注意前面知识:复数不可比较大小):
list(seq)
将序列转化为列表:
seq为推倒式:
seq为列表:(自身)
seq为元组:(直接转换)
seq为集合:(直接转换)
seq为字典:(将字典的key值组成list)
list.count(x)
以list中元素为单位统计x元素在list中出现次数
index(element, start, length)
用法同string字符串类型的index函数,element在list中第一次出现的元素,start起始位置,length扫描长度
找不到则报错
reverse()
反向列表中的元素
sort()
对str类型按字母表排序:
对int类型进行排序:
对布尔型进行排序:
复数不可比较大小:
同类型排序比较大小,不可混搭(即number与str类型不可混搭,同属于number的int,float和bool可以混搭):
这里False=0,True=1,可参照前面number类型的讲解
copy() 和 deepcopy()
=赋值、deepcopy深拷贝与copy浅拷贝的区别:
预热:字符串与数字是不可变类型,引用、地址与值是一一对应关系;可变类型,不同引用对应不同地址可对应同一值;引用是对象的地址指向内存中的值
=赋值:没有拷贝对象,共用同一个对象,只是拷贝了对象的引用,原始列表改变,被赋值的列表也做同样改变
copy浅拷贝:拷贝了对象,两个不同的对象,也拷贝了对象的引用,原始列表改变,被赋值的列表也做同样改变
注意:浅拷贝列表里,不可变类型改变,会使该对象产生新的地址,也就是新的引用
deepcopy深拷贝:拷贝了对象,拥有不同与原对象的引用,原始列表与拷贝列表互不干扰