1、列表
语法格式:列表名 = [元素1, 元素2, ..., 元素n]
1.1、访问列表中的元素
访问列表中的元素方法与访问字符串中的元素类似,通过下标来实现元素的访问
格式: 列表名[下标]
注:1、下标从0开始,默认从左往右数
2、下标可以为负数,当下表为负数时,表示方向从右往左
1.2、列表的截取
语法格式:列表[[起始下标start]:[结束下标stop][:][递增基数step]]
说明:
start:截取列表的起始位置(包含),可以省略该参数,默认值为0
stop:截取列表的结束位置(不包含),可以省略该参数,默认值为长度-1
step: 步长,间隔数,默认值为1,可以写负数
1.3、判断了列表中是否含有某元素
in 和 not in 可用于判断列表中是否包含某元素
例: list0 = [0, 1, 2, 3, 4, 5, 6]
print(5 in list0) # 返回True
print(7 in list0) # 返回False
1.4、列表的增删改查
1.4.1、增
1、list.append(obj): 将obj作为一个整体添加到list列表中(末尾) obj为任意数据类型
2、list.extend(iter):在列表末尾一次性追加iter里面所有的元素(将iter中的元素拆开添加) iter为集合类型
3、list.insert(index, obj): 在指定的index下标位置新增元素,该下标原来的数据不会被覆盖,原数据一次向后顺移
1.4.2、删
1、list.pop([index]): 溢出指定index位置的元素,如果不指定index,默认删除最后一个元素
注:pop有返回值
例: list0 = [1, 2, 3, 4, 5]
print(list0.pop) # 返回 5
print(lst0) # 返回 [1, 2, 3, 4]
2、list.remove(obj): 删除匹配到的第一个obj,删除的元素要求在列表中存在,不存在直接报错
3、list7.clear(): 清除列表中所有的元素
1.4.3、改
列表为可变数据类型,可通过下标直接修改列表内的元素
例: list0 = [1, 1, 3]
list0[1] = 2
print(list0) # 返回[1, 2, 3]
1.4.4、查
list.index(obj[,begin,end]) 从list中查找第一个匹配到的下标,如果指定begin和end,再该范围内查找
注: 使用index查询,列表中必须包含该元素,否则报错
1.5、列表中元素出现的次数,及列表的排序
1、list.count(obj) 返回list中出现的obj次数
2、列表的排序
list.sort( [reverse=bool] ) 将列表中的元素排序,默认升序 (bool默认为False) 当bool为True,降序
3、列表反转
list.reverse() 将列表中的元素反转
1.6、n维数组
list中的元素类型还是list类型
list0 = [1, 2, 3] # 一维数组
list1 = [[1, 2, 3],[4, 5, 6]] # 二维数组
list2 = [[[1, 2],[3, 4]],[[5, 6],[7, 8]]] # 三维数组
1.7、列表的拷贝
1、浅拷贝(同一个地址,拥有不同的名称)
list1 = [1, 2, 3]
list2 = list1 . # 浅拷贝
若list1 (或list2) 发生 变化,对应的list2(或list1)也会发生相同的变化,即相当于list2为list1的小名
2、深拷贝(仿深拷贝):复制数据,将复制的数据放到新的内存地址中
注:列表中的变数据类型的内存地址一样
list1 = [[1, 2, 3], [4, 5, 6]]
list2 = list1.copy()
list1与list2的内存地址不同,但它们个元素的内存地址相同
3、深拷贝:初始数据一致,内存地址不一致
import copy
arr1 = [[1, 2, 3], [4, 5, 6]]
arr2 = copy.deepcopy(arr1)
2、元组tuple=(元素1, 元素2...元素n)
元组方法与列表大致类似,但元组为不可变数据类型,不能删除与修改元组中的元素
del 元组名 :可直接删除元组
tuple0 = (1,) : 当元组中的元素只有一个时,在该元素后面加上逗号,声明这是元组数据类型
3、元组与列表的相互转换
# list -> tuple 将list转化为tuple
list1 = [1, 2, 3]
tu1 =tuple(list1)
print(list1)
print(tu1)
# tuple -> list 将tuple转为list
tu2 = (3, 4, 5)
list2 = list(tu2)
print(tu2)
print(list2)