目录
List:列表
.appeed 追加
.clear 清除
.cope 拷贝
什么是浅拷贝, 什么是深拷贝
.count 计数
.extend 添加
.index 索引
insert 插入
.pop 弹出
.remove 移除
.reverse 逆向输出
.sort 排序
性质:内置可变序列
定义方式:1. var = list[var1, var2, var3, ...]或者list_data = [var1, var2, var3, ...]
追加:append(self, object, /)(在列表的末尾添加对象)
使用时直接在list后面加.append,无返回值(直接在源列表的基础上做更改)
data_list = list([1, 2, 3])
data_list.append(4)
print(data_list, type(data_list))
输出结果为下图
clear(self, /)(清理:清理指定列表的所有内容)
使用时直接在list后面加.append,无返回值(直接在源列表的基础上做更改)
list_data = list([1, 2, 3])
list_data.clear()
print(list_data)
输出结果为下图
copy(self, /)(浅拷贝)返回一个浅拷贝的列表 注意此操作会返回一个值,需要一个新的变量来接受的返回值
data_list2 = list([1, 2, [1, 2]])
print(data_list2[2], id(data_list2[2]))
data_list3 = data_list2.copy()
print(data_list3[2], id(data_list3[2]))
print(data_list3, id(data_list3))
可以看出来列表中的子列表的id没有改变
顾名思义浅拷贝的意思是浅层面的拷贝,对于python来说python在数据存储层面只会留下一个数据的id地址(目的是为了节省空间,如果你定义了很多变量的值都是同一个值的话,在存储界面里这个值只有一个id,相反如果没有这个操作的话当你定义多个相同值的变量的时候你的内存会被浪费)
如图所示会更好理解
count(self, value, /) 计算列表中一个值出现的次数并返回这个数,使用时直接在列表变量名的后面加.count
举个例子我们定义一个列表,查询里面有几个“1”
list_data6 = list([1, 2, 3, 4, 5, 1, 1, 1])
count_list6 = list_data6.count(1)
print(count_list6)
输出结果为4,证明列表中有4个1
extend(self, iterable(可迭代循环), /)通过附加可迭代对象中的元素来扩展列表。注意是在列表的最后添加,而且是在源列表的基础上直接更改没有返回值。
可迭代对象:指的是序列(元组,列表,字符串,字节等)
例如使用一个列表的形式对列表进行扩展
list_data6 = list([1, 2, 3, 4, 5])
list_data6.extend([1, 2, 3])
print(list_data6)
输出为下图
index(self, value, start=0, stop=9223372036854775807, /) 如果直接使用的话意思就是返回第一个索引的值,我们输入一个值,那么这个功能就可以帮助我们找到第一次出现这个值的序列号
例如我们查询list_data6第一次出现1这个值的序列号时
list_data6 = list([1, 2, 3, 4, 5, 1])
index_list6 = list_data6.index(1)
print(index_list6)
如图所示,我们可以知道第一次出现1是在第一位
insert(self, index, object, /) 此操作没有返回值,直接在原列表上修改。index就是你要输入的序列号, object指的是你要插入的对象(可以是序列或者数据)。插入在序列号的后面
例如我想在1后面插入一个列表【1, 2】
list_data6 = list([1, 2, 3, 4, 5])
list_data6.insert(1, [1, 2])
print(list_data6)
输出结果为下图
pop(self, index=-1, /) 弹出一个列表的对象,默认值是弹出列表的最后一位,可以通过键入序列号改变想要弹出的对象,在源列表的基础上操作,有返回值,返回值为弹出的数字
例如我要弹出3
list_data6 = list([1, 2, 3, 4, 5])
list_data6.pop(2)
print(list_data6)
remove(self, value, /) 移除列表中第一个你想移除的对象,没有返回值直接在源列表上修改
例如我要移除第一个2
list_data6 = list([1, 2, 3, 4, 5, 2])
list_data6.remove(2)
print(list_data6)
reverse(self, /) 顾名思义就是逆向输出(也可以通过另一种方式实现此操作:切片)
直接上例子
list_data6 = list([1, 2, 3, 4, 5, 2])
list_data6.reverse()
print(list_data6)
sort(self, /, *, key=None, reverse=False) 按升序对列表进行排序并返回 None。没有返回值直接对列表进行排序。如果想知道没有返回值的是什么类型我们不妨一试
list_data6 = list([8, 4, 7, 3, 5, 6, 2, 1])
list_data6.sort()
type1 = bool(list_data6)
print(list_data6, type(list_data6), type1, type(type1))
如图列表就被排列整齐了,而且我们可以看到它变化后的内容为None