第四节课 数据类型,列表与元组 讲课老师:风陨老师
2021/3/31
一、列表 list 符号:[] 能存放多个相同或者不相同的元素
列:
a = [1,2,3] print(type(a)) 结果为 list
b = [1,2,a,b,c,6.6] print(type(b)) 结果为 list
list 的操作方法
1、增
① append 只能在列表尾部增加数据,且只能一个一个添加
a = [1,2,3,4]
print(a) c
a.append('x')
print(a) 结果为[1,2,3,4,'x'] 增加后
b = ['a','d','c']
a.append(b)
print(a) 结果为[1,2,3,['a','d','c'])
后面指定的什么元素都能添加不会被合并
② insert 指定的下标位数上添加元素
a = [1,2,3,4]
print(a) 结果为[1,2,3,4] 增加前
a.insert(1,'bcd')
print(a) 结果为[1,'bcd',2,3,4]
指定下标位数上的元素添加,原有的元素会往后移一位
③ exetend 在尾部批量添加
a = [1,2,3,4]
print(a) 结果为[1,2,3,4] 增加前
a.exetend('bcd')
print(a) 结果为[1,2,3,4,'b','d','c']
添加的元素被拆分出来,依次逐个添加
append 与 exetend 的 区别: append 不改变直接添加
exetend 拆分后添加
小知识:在 exetend中添加不想被拆分就把要添加的元素转换为列表
列:
a = [1,2,3,4]
a.exetend('bcd') 结果为[1,2,3,4,'b','d','c']
c = ['bdc']
a.exetend(c)
print(a) 结果为[1,2,3,4,'bdc']
exetend添加时只会拆分一层
2、删
① pop 索引下标位数上的元素进行删除,默认删除最后一个元素
a = [1,2,3,4 ]
print(a) 结果为[1,2,3,4]
a.pop()
print(a) 结果为[1,2,3]
不传值时默认删除最后一个元素
a.pop(2)
print(a) 结果为[1,2,4]
② remove 删除已知数据 一次删一个
a = [1, 2, 2, 3, 4 ] 结果为[1, 2, 3, 4 ]
print(a)
a.remove(2)
print(a) 结果为[1, 2, 3, 4]
直接输入想要删除的元素
如果有多个相同的元素删最前面一个
③ clear 清空数据
a = [1, 2, 3, 4 ] 结果为[1, 2, 3, 4 ]
print(a)
a.clear(a)
print(a) 结果为[]
清空已有的所有元素
④ del 删除指定的元素
a = [1, 2, 3, 4, 5 ] 结果为[1, 2, 3, 4 ]
print(a)
del a
print(a) 结果报错 打印对象不存在
del a[2]
print(a) 结果为 [1, 2, 4 ]
指定下标删除
del a[1:3]
print(a) 结果为 [ 1, 4 ]
指定范围删除
del a[1:4:2]
print(a) 结果为 [ 1, 3, 5 ]
指定范围内,以下标为奇数的元素删除
3、改 通过下标取值重新赋值修改
a = [1, 2, 3, 4, 5, 'c', 'f']
print(a) 打印结果为[1, 2, 3, 4, 5, 'c', 'f']
a[5] = 6
print(a) 打印结果为[1, 2, 3, 4, 5, 6, 'f']
4、查
① index 查元素下标
a = [1, 2, 3, 4, 5, 'c', 'f']
print(a.index('f')) 打印结果为 6
元素f的下标数为6
print(a.index('c',1,6) 打印结果为5
指定范围查元素下标
若指定的范围中没有这个元素就会报错
② count 查元素出现的次数
a = [1, 2, 3, 4, 'c', 'c', 'f']
print(a.count('c')) 打印结果为2
c元素在此列表中出现了2次
print(a[6]) 打印结果为f
查找下标为6的元素为f
二、扩展
1、copy() 复制序列
list1 = [1, 2, 3, 4, 5]
print(list1) 打印结果[1, 2, 3, 4, 5]
list2 = list1.copy()
print(list2) 打印结果[1, 2, 3, 4, 5]
复制已有的元素,结果不变,只是ID变动
2、reverse() 倒序
list1 = [1, 2, 3, 4, 5]
print(list1) 打印结果为 [1, 2, 3, 4, 5]
list1.reverse()
print(list1) 打印结果为 [5, 4, 3, 2, 1]
改变原来的列表
3、sort 排序 正向排序
list1 = [1, 2, 3, 4, 5, 9,8,7]
print(list1) 打印结果为[1, 2, 3, 4, 5, 9,8,7]
list1.sort()
print(list1) 打印结果为[1, 2, 3, 4, 5, 7, 8, 9]
排序后原列表改变 英文通方法
list1.sort(reverse=True)
print(list1) 打印结果为[9, 8, 7, 5, 4, 3, 2, 1]
先排序再倒序
三、元组 tuple (,)
a = ('b')
print(type(a)) 查询结果为 str 字符串
a = ('b',)
print(type(a)) 查询结果为 tuple 元组
单个元素必须要加个英文逗号
小知识:元组只能查 具有安全性不被修改
a = (1, 2, 3, 'a', 'b')
print(a.index(2)) 查询结果为 1
print(a.index(2,1,4)) 查询结果为 1 指定范围查找
指定范围内没有此元素结果报错
print(a.count('a')) 查询结果为 1 查元素出现的次数
b = list(a)
print(b) 转换结果为[1, 2, 3, 'a', 'b'] list 类型可修改
此时就可以进行更后再转为元组
a = tuple(b)
print(a) 转换结果为(1, 2, 3, 'a', 'b') tuple 不可修改
The end