列表,和列表的操作
列表
1…什么是列表(list)
列表是容器型数据类型用 [] 作为容器,里面有多个元素,用逗号隔开。作用:用于对多个数据处理时的数据存储。
2.特点
列表是可变的(指容器中元素个数和值都可以变,支持增删改查),
列表是有序的(支持下标操作)
元素要求:没有要求(任何类型的数据都能作为列表元素,同一个列表中的元素类型还可以不一样。)
list1 = []#空列表
list2 = [' ']#不是空列表
print(len(list1),len(list2))
lis3 =[10,11.1,False,None,'adc',[10,20]]
列表是有序的,顺序影响结果比如
print ([1,2,3] == [1,3,2]) #结果是False
列表的操作
1.查(获取列表元素)
查单个元素
语法:列表[下标](下标可以用len函数获取)
[]是固定写法
下标或索引:是列表中元素在列表中的位置信息,每个元素都有两个索引值,第一个是从前往后从0开始不断增加的,下标为正数。第二个索引值是从后往前,从-1开始不断减小的通常为负数
注意:下标不能越界,就是不能超过列表的范围
#查单个元素操作。依靠元素下标
num = [4 ,5 , 6]
print(num[1],num[-2])
切片(一次获取多个元素)
语法:列表[开始的下标:结束下标:步长]
根据下标和步获取指定列表中的元素
写切片:1.确定开始下标:取的需要切片中第一个元素的下标
2.确定步长,确定绝对值,确定步长的方向也是确定最对值的正负号
3.确定结束下标:在有效范围里能包含取出的元素取的需要切片中最后一个元素后面的元素的下标
注意:结束下标元素是不会取出来的
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
print(lol[0:5:1])
确定切片结果:1.确定结果是否为空列表(看从开始下标到结束下标的方向和步长对应的方向是否一致)
步长为正:表示从前往后取。步长为负:表示从后往前取
2.确定有效范围:开始下标元素取的到结束下标元素取不到
3.确定在有效范围里,按照步长的绝对值获取内容。如果绝对值是1,在有效范围一个一个取对应元素如果绝对值为2:在有效范围内取一个,跳一个,在取一个,在跳一个绝对值为3:取一个跳两个,
切片简写:1.省略步长 默认为步长为1
语法:列表[开始下标:结束下标:]
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
print(lol[0:5])
简写2:省略开始下标:表示从头开始(默认的开始下标是第一个还是最后一个,取决于步长的正负)
语法:列表[:结束下标:步长] 列表[:结束下标]
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
print(lol[:5:1])
print(lol[:5])
简写3:省略结束下标 :如果步长为正就从开始下标取到最后一个元素,如果步长为负,就从开始下标取到第一个元素
语法:列表[初始下标::步长]
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
print(lol[1::1])
print(lol[1::-1])
简写4:全部省略(获取列表全部元素)
语法:列表[:]
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
print(lol[:])
遍历(一个一个的获取列表中的所有元素)
方法一:for 循环
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
for x in lol:print (x)
方法二:通过遍历下标来遍历列表,函数len(列表)获取这个列表中元素的个数(下标)
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
for i in range(len(lol)):print (i,lol[i])
方法三:同时获取下标和元素
lol= ['无极剑圣','巨魔之王','诺克萨斯之手','疾风剑豪','皮城女警','盲僧','灵魂典狱长','潮汐海灵']
for x,y in enumerate(lol):print(x,y)
增
1.增加元素
语法:列表,append(元素)
nums = [20,50,60]
print (nums)
nums.append(100)
print (num)
2.插入元素
语法:列表,insert(下标,元素)用于插入指定位置
nums = [20,50,60]
nums.insert(1,200)
print (nums)
删
方法1
语法:del 列表[下标] 作用:删除列表中指定下标的元素,从内存中删除
nums = [20,50,60]
del nums[0]
print (nums)
方法二:
语法:列表.renmove(元素) 作用:删除列表中指定元素,如果从内存中删除元素不存在会报错,如果列表有多个相同的元素会删除第一个
nums = [20,50,60]
nums.remove(50)
print (nums)
方法三:
语法:列表.pop() 作用:取出列表最后一个元素,从列表中删除,并且返回
列表.pop(下标) 作用:取出下标指定的元素,并且返回
ums = [20,50,60]
y = nums.pop()
print (y)
ums = [20,50,60]
x =nums.pop(0)
print(x)
改
改:修改元素的值
语法:列表[下标] = 新元素 作用:修改列表中指定下标的元素为新元素
opend = [1,2,3,4,5]
opend[0] = 6
print(opend)