列表 list
列表是Python中最基本的数据结构。序列中的每个元素都会分配索引,从左至右第一个索引是0,第二个索引是1,依此类推。
列表的创建:
创建一个列表,只需要把用逗号分隔的不同的数据使用方括号括起来即可。例如:
注意:
列表中的值可以是数字,可以是字符,也可以是变量,
列表中的数据可以重复
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,4,5,6,7,"a","b","c","d",‘e","f","g‘,1,2,3,4,5,6,7,name,age,sex]
# 列表中的值可以是数字,可以是字符,也可以是变量,
# 列表中的数据可以重复
列表的索引:
索引用来快速访问列表中值
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
#索引用来访问列表中的值
#此列表中的索引,从左至右分别是0,1,2,3,4,5,6,7,8,9,10,11
#此列表中的索引,从右至左分别是 -1,-2,-3,-4,-5 ,-6,-7,-8,-9,-10,-11,-12
列表的嵌套:
一个列表中可以包含另外一个列表,例如
name = "suyp"
age = 18
sex = "man"
list1 = [1,2,3,"a","b","c",1,2,3,name,age,sex]
list2 = ["suyp","liuzhen","lirs",list1[:]] # list2 中嵌套了list列表
list3 = ["machao","wangcc","wangmeng",["yinsj","weill","liyl"]] #list3中嵌套了一个新的列表
列表的查询和切片:
通过列表的索引查询和切片
切片语法:sequence[start : end : step]
sequence:序列
step:步长
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
print(list[0]) #查询单个值
print(list[-1]) #查询列表的最后一个值
print(list[:]) #查询整个列表
print(list[0:2]) #列表的切片:从左至右查询两个值,顾头不顾尾
print(list[-5:-1]) #列表的切片:查询列表的最后4个值,顾头不顾尾
print(list[-5:]) #列表的切片:查询列的最后5个值
print(list[3:6]) #列表的切片:从列表中间切片
查询列表中值的索引值和重复值:
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
print(list.index("c")) #快速查找列表中某个值的索引
print(list.count(1)) #快速查找列表中某个值得数量
列表查询的步长:
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
print(list[0:7:2]) #列表数据0-7,以2个步长进行取值,步长不能为0,默认为1
print(list[:7:2]) #和上面的print语句意思相同
print([list[::2]]) #全部列表数据,以2个步长进行取值
列表的修改:
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
list.append("lirs") #追加,追加只在列表最后一位追加
list.insert(0,"liuzhen") #在列表的第一位之前插入一个数据
list.insert(2,"machao") #在列表的任意位置插入一个数据
list[5] = "wangcc" #修改列表中的某个值
list[6:8] = "Gold" #批量修改,修改过程中,如果位数不够,多余的数值会以插入的形式写入列表中
列表的删除:
pop()的用法
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,返回值可以付给变量
语法:list.pop(obj=list[-1])
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
nnn = list.pop() # pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,返回值可以付给变量
print("列表删除的内容:",nnn)
print("列表当前的内容:",list)
remove() 用于删除列表中存在的任意值,
注意:
1、该函数的参数是列表中的真实值,不是索引;
2、如果要删除的值在列表中有重复值,只删除从左起第一个。
name = "suyp"
age = 18
sex = "man"
list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
list.remove(3) #删除列表中的指定值
print(list)
del :从全局范围删除列表中的数据,可以是列表中的某个索引对应的值,也可以是整个列表
del list[5] #删除指定列表中的指定索引对应的值
del list[1:5] #批量删除
del list #删除list 列表
列表排序:
列表排序的规则是按照ASCII码表的顺序进行排序的。
单个方法支持同一种类的字符排序,int 和 str 两个类型的字符不能在一个列表中进行排序
list.sort() # 列表排序,正序,不支持int 和 str 一起进行排序
list.reverse()#列表排序,倒序,不支持int 和 str 一起进行排序
list.extend()# 列表扩展,和 两个列表直接相加是一个效果,list1 + list2
list.clear() # 清空列表