03:列表与元组
01:什么是列表
列表是一种Sequence类型
①有下标
②能切片
③可以存储任何类型的数据,每个元素是任意类型
④可以增删改查
02:列表的增删改查
- 查询-获取元素--最快是下标获取 alist[1]=2
- 增加-列表名.append(需要增加的元素值)--从尾部增加 --alist.append(50)
方法:列表名.insert(你需要的位置下标,插入的值)--alist.insert(0,50)
- 删除-
①del-使用下标删除 --del alist[0]
②pop(下标)--有返回值
alist = [10, 20, 30, 40]
alist.pop(0)
③remove(值)每一次只能删除第一个出现的值
alist = [10, 20, 30, 40]
alist.remove(20)--效率最低print(alist)
- 合并
alist = [10, 20, 30, 40]
print(alist+[5,3])#另存新地址
print(alist.extend([3,5]))#另存列表
print(alist)
引申:
- 反转整个列表 reverse
alist.reverse()
- 对列表进行排序,sort,默认是升序进行排列
alist.sort()
04:什么是元组
元组也是一种sequence类型
可以存储任何类型的数据,每个元素是任意类型
05:两者区别
元组不能改变其组成元素---不改变
06:特性
①元组也是一种sequence类型
②下标
③能切片
④可以储存任何类型的数据,每个元素是任意类型
⑤内容不可以改变
一般用途:查询,只读--系统配置参数
07:元组的定义:
空元组()--type()
一个元素的元组 tup1=(1,)
08:元组的使用:
①下标取值
②切片
③不能改变本身的内容,否则会报类型错误
总结:
字符串和元组都不能改变值和数量,否则TypeError
使用场景
1-列表-存储的对象内容是可以改变的,如:排序
2-元组-存储的对象不想让其他人改变 如:配置参数
09:练习题:
1、请删除列表中的第2至4个元素,并输出删除元素后的列表
li = ["alex", "wusir", "eric", "rain", "alex"]
del li[2:4]
print(li)
2、请将列表所得元素反转,并输出反转后的列表
li = ["alex", "wusir", "eric", "rain", "alex"]
li.reverse()
print(li)
3、通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
li = [1,3,2,"a",4,"b",5,"c"]
print(li[:3])
4、通过对li列表的切片形成新的列表l2,l2=['a',4,'b']
li = [1,3,2,"a",4,"b",5,"c"]
print(li[3:6])
5、通过对li列表的切片形成新的列表l3,l3=[1,2,4,5]
li = [1,3,2,"a",4,"b",5,"c"]
l3 = li[::2]
print(l3)
6、将列表lis中的‘tt’变成大写
(1)第一种方法: 利用索引及upper()
lis = [2,3,"k",["qwe",20,["k1",["tt",3,"1"]],89],"ab","adv"]
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis)
lis = [2,3,"k",["qwe",20,["k1",["tt",3,"1"]],89],"ab","adv"]
lis[3][2][1][0] = lis[3][2][1][0].replace('tt', 'TT')
print(lis)
(2)第二种方法:利用插入和删除
lis = [2,3,"k",["qwe",20,["k1",["tt",3,"1"]],89],"ab","adv"]
lis[3][2][1].insert(0, 'TT')
lis[3][2][1].pop(1)
print(lis)
7、利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
li = ["alex","eric","rain"]
print("_".join(li))
8、查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表
li = ["taibai ","alexC","AbC ","egon","Ritian"," Wusir"," agc"]
l2 = []
for k in li:
k = k.strip()
if k.capitalize().startswith('A') and k.endswith('c'):
l2.append(k)
print(l2)