当前位置: 首页 > news >正文

python---列表(List)

文章目录

  • 创建列表
  • 基本操作
  • 访问元素(索引)
  • 切片操作
  • 修改列表
  • 常用方法
  • 列表推导式
  • 多维列表

列表是 Python 中最基本、最常用的数据结构之一,它是一个有序的可变集合,可以包含不同类型的元素。

创建列表

# 空列表
empty_list = []
empty_list = list()# 包含元素的列表
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'orange']
mixed = [1, 'hello', 3.14, True]

基本操作

访问元素(索引)

my_list = ['a', 'b', 'c', 'd', 'e']# 通过索引访问(从0开始)
print(my_list[0])  # 'a'
print(my_list[2])  # 'c'# 负索引表示从末尾开始
print(my_list[-1])  # 'e'
print(my_list[-2])  # 'd'

切片操作

my_list = ['a', 'b', 'c', 'd', 'e']# 获取子列表
print(my_list[1:3])  # ['b', 'c']
print(my_list[:3])   # ['a', 'b', 'c']
print(my_list[2:])   # ['c', 'd', 'e']
print(my_list[:])    # 复制整个列表# 步长
print(my_list[::2])  # ['a', 'c', 'e']

修改列表

列表的增删改查操作

# 修改元素
my_list[1] = 20  # [1, 20, 3, 4]print("索引修改:", my_list)# 添加元素
my_list.append(5)      # 末尾添加 [1, 20, 3, 4, 5]
print("append添加:", my_list)
my_list.insert(1, 1.5) # 指定位置插入 [1, 1.5, 20, 3, 4, 5]
print("append添加:", my_list)# 删除元素
del my_list[0]         # 删除指定位置 [1.5, 20, 3, 4, 5]
print("del删除:", my_list)
my_list.remove(20)     # 删除第一个匹配项 [1.5, 3, 4, 5]
print("remove删除匹配项", my_list)
popped = my_list.pop() # 删除并返回最后一个元素 [1.5, 3, 4], popped=5
print("pop删除最后一个元素", my_list)
print("popped  = ", popped)

常用方法

my_list = [1, 2, 3, 4, 5]# 长度
length = len(my_list)  # 5
print(f"length is {length}")# 连接列表
new_list = my_list + [6, 7, 8]
print(f"new_list is {new_list}")# 重复列表
repeated = my_list * 2  # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
print(f"repeated is {repeated}")# 排序
my_list = [1, 5, 4, 3, 2]
my_list.sort()          # 原地排序
print(f"my_list is {my_list}")
sorted_list = sorted(my_list)  # 返回新排序列表
print(f"sorted_list is {sorted_list}")# 反转
my_list = [1, 5, 4, 3, 2]
my_list.reverse()       # 原地反转
print(f"my_list is {my_list}")
reversed_list = my_list[::-1]  # 创建反转副本
print(f"reversed_list is {reversed_list}")# 查找
index = my_list.index(3)  # 返回第一个3的索引
print(f"index is {index}")
count = my_list.count(3)  # 计算3出现的次数
print(f"count is {count}")# 清空
my_list.clear()  # []
print(f"my_list is {my_list}")

列表推导式

# 创建平方数列表
squares = [x**2 for x in range(10)]# 带条件的列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]# 嵌套列表推导式
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]

嵌套列表推导式分析:
嵌套列表推导式等价于两个for循环。

flattened = [num for row in matrix for num in row]# 等价于
flattened = []
for row in matrix:      # 遍历 matrix 的每一行for num in row:     # 遍历当前行的每个元素flattened.append(num)  # 将元素添加到新列表

多维列表

# 多维列表(矩阵)
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9,[10, 11, 12]]
]# 访问元素
print(matrix)  # [[1, 2, 3], [4, 5, 6], [7, 8, 9, [10, 11, 12]]]
print(matrix[1])  # [4, 5, 6]
print(matrix[2])  # [7, 8, 9, [10, 11, 12]]
print(matrix[1][2])  # 6
print(matrix[2][3][2])  # 12# IndexError: list index out of range
# print(matrix[3])  
http://www.lryc.cn/news/597573.html

相关文章:

  • 龙虎榜——20250723
  • 【Linux系统】基础IO(上)
  • 数字化转型:概念性名词浅谈(第三十四讲)
  • Web前端开发:JavaScript遍历方法详解与对比
  • 文字识别接口-文档识别技术-手写文字识别
  • VRRP的概念及应用场景
  • 字节 AI 编辑器 Trae 2.0 SOLO 出道! 国际版不充分指南及与国内版的对比
  • Python 程序设计讲义(8):Python 的基本数据类型——浮点数
  • day060-zabbix监控各种客户端
  • DPU 的基本运算单元是LUT吗?
  • 【笔记】wow-rag 第5课-流式部署
  • 进程间通信——POSIX 和 System V适用场景
  • c# sqlsuger 获取关联表中一个值
  • 插入的新节点非首节点
  • LLM 隐藏层特征增强技术
  • docker 离线安装postgres+postgis实践
  • Java TCP 通信详解:从基础到实战,彻底掌握面向连接的网络编程
  • Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
  • YOLOv5模型剪枝实战教程
  • 剪枝和N皇后在后端项目中的应用
  • Django 入门详解:从零开始构建你的第一个 Web 应用
  • 【C++】C++ 的入门知识2
  • 今日行情明日机会——20250723
  • 使用JMeter进行压力测试(以黑马点评为例、详细图解)
  • Flex布局与边距计算
  • 视频、音频录制
  • 使用Docker搭建SearXNG搜索引擎
  • 从0开始学习R语言--Day55--弹性网络
  • DIOR-ViT:用于病理图像癌症分类的差分序数学习视觉Transformer|文献速递-医学影像算法文献分享
  • 9、STM32的启动过程