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]

 

原文地址:https://www.cnblogs.com/greatfish/p/6045093.html