Python基础第七讲 - 数据结构
一、列表
列表是Python中最基本也是最常用的数据结构之一。列表中的每个元素都被分配一个数字作为索引,用来表示该元素在列表内所排在的位置。
第一个元素的索引是0,第二个索引是1,依此类推。Python的列表是一个有序可重复的元素集合,可嵌套、迭代、修改、分片、追加、删除,成员判断。
从数据结构角度看,Python的列表是一个可变长度的顺序存储结构,每一个位置存放的都是对象的指针。
1.1 创建列表
l = [1, 'YXH', 1.2]
print(l)
1.2 del
# 列表删除
# 指定元素删除
lis = ['a', 'b', 'c']
del lis[0]
print(lis)
1.3 remove()
# 根据元素的值进行删除
print(lis.remove('a'))
lis.remove('d')
print(lis)
lis = ['a', 'b', 'c','b']
1.4 pop()
# 根据索引来进行删除的 默认弹出最后一个 传值的话 按照索引来进行弹出
# [] 可选参数
value = lis.pop(2)
print(value)
print(lis)
1.5
# 列表组合
lis1 = [1, 2, 3]
lis2 = [4, 5, 6]
lis3 = lis1 + lis2
# 列表的乘法
lis1 = [1, 2, 3]
lis3 = lis1 * 3 #结果 [1,2,3,1,2,3,1,2,3]
# 判断元素是否在列表内部
lis1 = [1, 2, 3]
print(2 in lis1)
# 迭代列表中的每个元素(for循环迭代)
for i in lis1:
print(i)
1.6 列表的常用函数
# *IN PLACE* 修改本身
len(list) 返回列表元素个数,也就是获取列表长度
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(seq) 将序列转换为列表
type() 查看变量的类型
1.7 列表的排序和反转
list.reverse() 将列表反转
list.sort() 排序,默认升序
list.sort(reverse=True) 降序排列
二、切片
以冒号分割索引,start代表起点索引,end代表结束点索引,step代表步长。省略start表
示以0开始,省略end表示到列表的结尾。注意,区间是左闭右开的!
正数是从左往右,负数是从右往左
#切片的语法:list[start:end:step]
lis = ['a', 'b', 'c', 'd', 'e', 'f']
# 取值 bc 区间是左闭右开的!
print(lis[1]) #结果 b
print(lis[2]) #结果 c
print(lis[1:3]) #结果 b,c,d
print(lis[1:]) #结果 b,c,d,e,f
print(lis[:3]) #结果 a,b,c,d
print(lis[:]) #复制列表
print(lis[::2]) #结果 b,d,f
# 写的是负数
print(lis[-1]) #结果 f , 是从右往左
三、列表的内置方法
append(obj) 在列表末尾添加新的对象
count(obj) 统计某个元素在列表中出现的次数
extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
index(obj) 从列表中找出某个值第一个匹配项的索引位置
insert(index, obj) 将对象插入列表
pop(obj=list[-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 remove(obj)
移除列表中某个值的第一个匹配项
remove(obj) 移除列表中某个值的第一个匹配项
reverse() 反向列表中元素
sort([func]) 对原列表进行排序
copy() 复制列表
clear() 清空列表,等于del lis[:]