Python中的列表
本篇主要介绍了Python中列表的概念,底层的原理,操作方法:包含增删改查以及其他常用方法。
1.列表的概念
列表是包含0个或多个对象引用的有序序列,支出与字符串以及元组一样的分片与步距语言,与字符串和元组不同的是,列表是可变的,因为列表存储的是对象引用,所以列表可以存储任何类型的数据
2.列表的底层实现原理
首先应该了解什么是顺序表
顺序表:数据维护的是顺序关系,线性关系,数据组成一个序列
顺序表的形式
1、连续的存储空间,在空间中存储元素数据,所有的数据类型一致
2、连接的存储空间,在空间中存储的是元素的地址,可以存储类型的元素,python中的列表使用这种方式
顺序表的结构
1、一体式结构,连续的存储空间,表头和元素存储区在一块,扩容后,内存首地址变化
2、分离式结构,表头和元素存储区在两块空间,表头中有一个地址记录元素存储区,扩容后,内存首地址不变,python中的列表使用这种方式
3.创建列表的方法
# 1.直接声明 list1 = [] # 2.使用list方法 list2=list()
4.列表中常见的方法
# encoding=utf-8 # 一.增删改查方法 # 1.增加元素 list1 = [1, "b", 3, 'c'] list1.append('a') # 方式1:向list1尾部添加 print(list1) # [1, 'b', 3, 'c', 'a'] list1.insert(4, 'b') # 方式2:插入一个元素 参数:位置,object print(list1) # [1, 'b', 3, 'c', 'b', 'a'] list2 = [1, 2] list1.extend(list2) # 方式3:扩展列表,参数:iterable参数 # 即元组,列表 print(list1) # [1, 'b', 3, 'c', 'b', 'a', 1, 2] list1 += list2 # 方式4:添加列表,参数:object,和append()一样 print(list1) # [1, 'b', 3, 'c', 'b', 'a', 1, 2, 1, 2] # 2.删除元素 list1.remove('a') # 删除方式1:删除第一次出现的元素 print(list1) # [1, 'b', 3, 'c', 'b', 1, 2, 1, 2] list1.pop() # 删除方式2:pop 可选参数index删除指定位置的元素,默认为最后一个元素 print(list1) # [1, 'b', 3, 'c', 'b', 1, 2, 1] # del list1 # 删除方式,3:可以删除整个列表或指定元素或者列表切片,删除后无法访问。 # del list1[1] # print(list1) # 3.更新元素 list1[1] = "ff" # 通过下表,参数是下表位置,如果下表不存在,报错 print(list1) # [1, 'ff', 3, 'c', 'b', 1, 2, 1] # 4.查找元素 for i in list1: # 直接通过下表或者通过遍历比较 print(i) print(list1[1]) # 二.截取操作:和字符串一样[start:end:step],不在举例 # 三.其他方法: print("-" * 100) print(list1.count('a')) # 0 统计某个元素在列表中出现的次数 print(list1) # [1, 'ff', 3, 'c', 'b', 1, 2, 1] list1.reverse() # 反转列表中元素 print(list1) # [1, 2, 1, 'b', 'c', 3, 'ff', 1] list1 = [1, 3, 4, 2] list1.sort() # 对原列表进行排序 默认从小到大 print(list1) # [1, 2, 3, 4] print(len(list1)) # 4 print(max(list1)) # 4 print(min(list1)) # 1 tuple1 = (1, 2) print(list(tuple1)) # [1, 2] str1 = "abc" print(list(str1)) dict1 = {1: "a", 2: "c"} print(list(dict1)) # [1, 2]