列表(list)
容器类数据类型
list=[] #[]里面放的元素(任意数据类型都可以)
eg:list=[1,1.23,‘aaa’,True,[1,2]]
方法
增
append(元素) #列表中添加元素
l.append(1) =>1添加在最后面
insert(index,元素) #在固定位置添加元素
eg:
l=[1,2,3]
l.insert(1,4) =>[1,4,2,3]
下标都是从0开始的,insert插入在下表之前
extend(可迭代对象)
l.extend([1,2,3])
l=[1,4,2,3,1,2,3]
删
pop((index))
默认删除最后一个,可以通过下表删除指定位置的元素
remove(value)
删除指定值的元素
clear()
清空列表
改
l=[1,2,3,4]
eg:l[2]=2
>>>l=[1,2,2,4]
直接通过下标的方式改
查
index(value)
找到value返回下标,没有找到会返回0
count(value)
计算value在列表中出现了几次
排序
sort(reverse=False)
默认从大到小排序,需要的时候更改
reverse()
反序
切片
半开半封闭原则
通过下标使用
l(start,stop,step)
l(起始,结束,步长)顾头不顾尾,取不到stop,step必须和顺序一致
l=[1,2,3,4]
l[0:2]=[1,2]
l[0:2:2]=[1] step-stop符号与step一样,否则会报错
简略
可以stop不写,或者start不写,表示知道末尾或者从0开始
可迭代对象
字符串,列表,集合,元组,range()函数
列表的运算符
一般运算符
和字符串一样,只有加乘,加法代表列表的拼接,乘法代表字符串的重复
逻辑运算符 not and or 与字符串一样逻辑运算符
比较运算符
先比较第一个,当第一个相同的时候依次类推往后面
注意:字符串不能与数字比较,会报错
深浅拷贝
变量:变量是系统的元素,拥有指向对象的链接空间
引用:系统自动生成的,从变量到对象的指针
类型:只有一种类型(对象类型)(python无处不对象,万物皆对象)
对象:系统中开辟的一块内存地址
不可变对象:一但创建了,就不可变的对象(整型,浮点型,字符串,元组)
可变对象:创建了还可以改变的对象(列表)
注意:这里的改变不改变是指改变对象的值,而对象在内存的地址改变不改变
列表中存储的是每个对象的首地址
不管列表的值怎么改变,首地址不变
而不同列表中元素相同的地址是一样的
深浅拷贝
不可变对象,深不深浅拷贝一样
可变对象,
浅拷贝=》对象外围地址不一样,内部元素的地址是一样的,列表的子对象改变的时候,浅拷贝的也改变
深拷贝=》对象外围地址不一样,内部元素地址一样,子对象改变的时候,深拷贝不改变
意义:
浅拷贝:节省内存空间
深拷贝:备份数据
注意列表的切片改值问题