六、(1)python数据结构之列表
1 数据结构
它是一种结构,可以将一些数据聚合起来。换句话说,他是用来存储一系列相关数据的集合。
2 列表
var = [1,2,'haha'] for i in var: print(i,end=',') #结果 1,2,haha,
如上所示,var是一个列表。对列表进行的操作有添加,移除或者搜索列表中的项目(类比数据库的增删改查,列表都可以)。可以添加,移除,可见,这是一种可变的数据类型。
3 python中,一切皆对象。例如i = 5 ,可以认为i是一个int类的实例化对象。
4 python中列表的脚本操作符。
5 列表的删除操作,见如下代码
list = [1,2,3,'hello','haha'] print('列表原始数据\n') for i in list: print(i,end=' ') print('\n删除列表中的第一个数据以后\n') del list[0] #第一种删除操作 for i in list: print(i,end=' ') print('\n通过pop方法移除元素,指定参数index=1\n') list.pop(1) #第二种删除操作,不写参数,默认删除最后一个数据 for i in list: print(i,end=' ') print('\n通过remove方法移除元素\n') list.remove('hello') #移除列表中某个值的第一个匹配项 for i in list: print(i,end=' ') print('\n通过clear方法移除列表所有元素\n') list.clear() for i in list: print(i,end=' ') #结果 列表原始数据: 1 2 3 hello haha 删除列表中的第一个数据以后: 2 3 hello haha 通过pop方法移除元素,指定参数index=1: 2 hello haha 通过remove方法移除元素: 2 haha 通过clear方法移除列表所有元素:
6 列表的插入操作
list = [1,2,3,'hello','haha'] print('\n通过append方法,在列表末尾增加新的对象:') list.append('hehe') for i in list: print(i,end=' ') print('\n通过extends,在列表末尾一次性追加另一个序列中的多个值:') tuple = (7,8,9) #元组 var = [4,5,6] #列表 tmp = {1,2,3} #集合 kv = {"name":"biao"} list.extend(tuple) list.extend(var) list.extend(tmp) list.extend(kv) for i in list: print(i,end=' ') print('\n通过insert,在列表指定位置插入对象:') #list.insert(index, obj) list.insert(1,'插入') for i in list: print(i, end=' ') #结果 通过append方法,在列表末尾增加新的对象: 1 2 3 hello haha hehe 通过extends,在列表末尾一次性追加另一个序列中的多个值: 1 2 3 hello haha hehe 7 8 9 4 5 6 1 2 3 name 通过insert,在列表指定位置插入对象: 1 插入 2 3 hello haha hehe 7 8 9 4 5 6 1 2 3 name
总结:列表的插入操作有append,在列表最后增加一个对象。extend:在列表最后追加一个序列,序列可以是元组,列表,集合,字典(注意:字典中,仅仅存入进键)。insert(index,object):在列表指定位置插入对象
7 列表的更新操作
list = [1,2,3] print("\n原始列表:") for i in list: print(i,end=" ") list[1]='hello' print("\n更新以后列表:") for i in list: print(i,end=" ") #结果 原始列表: 1 2 3 更新以后列表: 1 hello 3
8 列表的查询操作
list = [1,2,3] print("\n判断1是否在集合中:") if 1 in list: print('true') print("\n判断1是否不在集合中:") if 1 not in list: print('false') else: print('true') print("\n统计1在集合中出现的次数:") print(list.count(1)) print("\n查找3在集合中出现的位置:") print(list.index(3)) print(list.index(3,0,3)) #后两个参数时开始索引和结束索引的位置 #结果 判断1是否在集合中: true 判断1是否不在集合中: true 统计1在集合中出现的次数: 1 查找3在集合中出现的位置: 2 2
总结:列表的查询操作有in , not in , count , index
9 列表的其他常用方法(包含列表最大值,最小值,长度,反转,元组转列表,排序)
var = [1, 8, 3, 4, 5] tuple = ('ha','he') print('\n返回列表最大值:') print(max(var)) print('\n返回列表最小值:') print(min(var)) print('\n返回列表长度:') print(len(var)) print('\n元组转换为列表:') print(list(tuple)) print('\n列表反转1:') ha = list(reversed(var)) print(ha) print('\n列表反转2:') ha = var[::-1] print(ha) print('\n升序:列表排序1:') he = sorted(var) print(he) print('\n升序:列表排序2:') var.sort() print(var) print('\n降序:列表排序2:') var.sort(reverse=True) print(var) print('\n列表复制:') print(var.copy()) #结果 返回列表最大值: 8 返回列表最小值: 1 返回列表长度: 5 元组转换为列表: ['ha', 'he'] 列表反转1: [5, 4, 3, 8, 1] 列表反转2: [5, 4, 3, 8, 1] 升序:列表排序1: [1, 3, 4, 5, 8] 升序:列表排序2: [1, 3, 4, 5, 8] 降序:列表排序2: [8, 5, 4, 3, 1] 列表复制: [8, 5, 4, 3, 1]