列表
@ 列表是一个有序可变集合
一、创建列表
格式:列表名 = [元素1,….,元素n]
# 1、创建一个空列表
list1 = []
print(list1) # []
print(type(list1)) # <class 'list'>
# 2、创建一个带有元素的列表
list2 = [1,2,3,4]
# 注:列表里面的元素可以是不同数据类型
list3 = [1,2,"a",True,[1,2,"S"]]
二、列表元素的访问
# 1、用下标取值: 格式:list[index]
list4 = [1,2,3,4]
print(list4[0]) # 1
# print(list4[5]) # 下标不能越界 IndexError: list index out of range
# 2、从右开始取值(负的下标)
# 下标为-1 ,取出最后一个元素
print(list4[-1]) # 4
# 3、替换元素
# 列表名[下标] = 新值
print(list4) # [1, 2, 3, 4]
list4[2] = 7
print(list4) # [1, 2, 7, 4]
三、列表的操作
# 1、列表组合 +
list5 = [1,2,3]
list6 = [1,2,6]
list7 = list5 + list6
print(list7) # [1, 2, 3, 1, 2, 6]
# 2、列表的重复 *
print(list5*3) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
# 3、判断某个元素是否在列表中 in 、not in
print(1 in list5) # True
# 4、列表的截取
# 格式: list[start:end] 获取从起始下标到结束下标之前的元素
list8 = [0,1,2,3,4,5,6,7,8]
print(list8[2:7])
print(list8[:8]) # 从头开始截取
print(list8[5:]) #从起始下标开始截取到末尾
# 5、二维列表
list9 = [[1,2,3],[4,5,6],[7,8,9]]
# 获取二维列表里面的元素
print(list9[0]) # [1,2,3]
print(list9[0][1]) # 2
# 6、列表遍历
for i in list5:
print(i) # 1 2 3
# 7、list方法 集合的操作:数据操作--增删改查
# 增
# append 在列表末尾添加新的元素
# list.append(obj) obj就是将要添加的新元素(可以是任意类型)
list10 = [1,2,3]
print(list10) # [1,2,3]
list10.append(9)
print(list10) # [1,2,3,9]
list10.append([7,8,9])
print(list10) # [1,2,3,9,[7,8,9]]
# list.extend(seq) 在列表末尾一次性追加另一个序列里面的所有元素(将seq里面的元素分开添加)
# seq 数据类型必须是集合类型
list11 = [1,2,3]
print(list11) # [1,2,3]
list11.extend([4,5,6])
print(list11) # [1,2,3,4,5,6]
# list.insert(index,obj) 在给定的index下标处添加一个元素,不覆盖原数据,原数据向后顺延
list12 = [100,200,300,400]
print(list12) # [100,200,300,400]
list12.insert(2,1000)
print(list12) # [100,200,1000,300,400]
# 删
# pop() 移除列表中指定下标的元素(如果不指定下标,默认移除最后一个元素),并返回删除的数据
list13 = [1,2,3,4,5]
print(list13) # [1,2,3,4,5]
list13.pop()
print(list13) # [1,2,3,4]
list13.pop(1)
print(list13) # [1,3,4]
print(list13.pop(2)) # 4
# remove(obj) 移除列表中匹配到obj的第一项
list14 = [1,2,3,4,5,4,3,2]
print(list14) # [1,2,3,4,5,4,3,2]
list14.remove(4)
print(list14) # [1,2,3,5,4,3,2]
# clear() 清除列表中的所有元素:清空列表
list15 = [1,2,3]
print(list15) # [1,2,3]
list15.clear()
print(list15) # []
# 改
list16 = [1,2,3]
list16[0] = 100
print(list16) # [100,2,3]
# 查
# in 、 not in
# list.index(obj) 从列表中找出某一个元素的第一个匹配项的下标,找不到返回一个错误
list8 = [1,2,3,1,2,4]
print(list8.index(2)) # 1
# index 可以指定范围查找 index(obj,start,end)
print(list8.index(2,3,5)) # 4
四、列表中的函数
# 1、len(list) 列表元素个数
# 2、max(list) 返回列表中最大值
# min(list) 返回列表中最小值
# 3、list.count(obj) 计算obj这个元素在list中出现的次数
# 4、list.reverse() 将列表中的元素反向排序
list1 = [1,2,3,4]
list1.reverse()
print(list1) # [4,3,2,1]
# 5、list.sort() 对列表进行排序,默认升序
list2 = [1,4,3,2]
list2.sort()
print(list2) # [1,2,3,4]