在Python中,列表是可变有序序列,用于存储多个元素的容器。相较于单一变量存储独立值,列表能更高效地管理批量数据,其特点包括:
a = 10 # 单一变量存储
lst = ['hello', 98, 98.3] # 列表存储多类型数据
print(id(lst)) # 查看列表内存地址
字面量创建
lst = [元素1, 元素2, ...]
构造函数创建
lst = list(iterable)
lst1 = ['Python', 'Java'] # 直接创建
lst2 = list(('C++', 2024)) # 元组转列表
lst3 = list('Hello') # 字符串转列表 → ['H','e','l','l','o']
list[start:stop:step]
(左闭右开)lst = [10, 20, 30, 40, 50]
print(lst[1]) # 20(正向索引)
print(lst[-2]) # 40(逆向索引)
print(lst[1:4]) # [20,30,40](基础切片)
print(lst[::-1]) # [50,40,30,20,10](逆序切片)
方法 | 描述 | 时间复杂度 |
---|---|---|
append(x) |
末尾追加元素 | O(1) |
extend(iter) |
扩展多个元素 | O(k) |
insert(i,x) |
指定位置插入 | O(n) |
lst = [1, 2]
lst.append([3,4]) # [1,2,[3,4]]
lst.extend(range(3)) # [1,2,0,1,2]
lst.insert(1, 'new') # [1,'new',2,0,1,2]
方法 | 描述 | 注意点 |
---|---|---|
remove(x) |
删除首个匹配值 | 元素不存在时报错 |
pop([i]) |
删除指定索引元素 | 默认删除末尾元素 |
clear() |
清空列表 | 保留空列表对象 |
nums = [10, 20, 30, 20]
nums.remove(20) # [10,30,20]
nums.pop(1) # [10,20]
nums[1:] = [] # [10](切片删除)
del nums[0] # []
lst = ['A', 'B', 'C']
lst[1] = 'X' # 直接赋值修改
print(lst.index('C')) # 2(查询索引)
print('B' in lst) # False(存在性检查)
sort()
方法直接修改原列表sorted()
函数返回新对象reverse()
或 [::-1]
切片data = [3, 1, 4, 2]
data.sort(reverse=True) # [4,3,2,1]
new_data = sorted(data) # [1,2,3,4](原列表不变)
data.reverse() # [1,2,3,4] → [4,3,2,1]
快速生成列表的简洁语法:
squares = [x**2 for x in range(5)] # [0,1,4,9,16]
even_nums = [n for n in nums if n%2 == 0] # 过滤偶数
处理多维数据结构:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print(matrix[1][2]) # 6(访问第二行第三列)
list(set(lst))
(无序)# 保留原始顺序
def deduplicate(lst):
seen = []
for item in lst:
if item not in seen:
seen.append(item)
return seen
时间复杂度分析
适用场景
Python列表作为核心数据结构,具备以下核心优势:
掌握列表的底层原理和高级用法,将显著提升Python编程效率。建议在实际开发中根据需求选择合适的方法,平衡功能实现与性能优化。
最新技术动态请关注作者:Python×CATIA工业智造
版权声明:转载请保留原文链接及作者信息