Python 列表完全入门:创建、遍历与常用操作

发布时间:2026/9/11 21:56:19

Python 列表完全入门:创建、遍历与常用操作 大家好如果说字符串是Python中的文本管家那列表就是万能容器。它能放数字、放字符串、放嵌套的列表甚至混着放不同类型的数据。几乎所有需要批量处理数据的场景都绕不开列表。这篇文章我们从三个层面来梳理列表如何创建、如何遍历、常用的操作方法有哪些。代码示例为主理论为辅适合边看边敲。一、列表是什么列表是Python内置的可变mutable序列类型用方括号[]表示元素之间用逗号隔开。# 常见列表 numbers [1, 2, 3, 4, 5] names [张三, 李四, 王五] mixed [1, hello, 3.14, [1, 2]] # 元素类型可以不同 # 空列表 empty []列表有几个核心特征有序元素按插入顺序存储可以通过索引访问可变可以增删改元素不会创建新对象可容纳任意类型整数、浮点数、字符串、布尔值甚至是另一个列表二、创建列表的几种方式除了直接用[]还有几种常见的创建方式1.list()构造方法# 从其他可迭代对象转换 s list(abc) # [a, b, c] t list((1, 2, 3)) # [1, 2, 3] 元组转列表2. 列表推导式列表推导式是Python的特色语法用一行代码生成列表# 生成 1 到 10 的平方数 squares [x**2 for x in range(1, 11)] print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] # 带条件的推导式 evens [x for x in range(20) if x % 2 0] print(evens) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]列表推导式比手动写for循环更简洁且执行效率更高。三、遍历列表遍历是操作列表最基础的动作Python提供了多种方式。1.for循环直接遍历元素fruits [苹果, 香蕉, 橘子] for fruit in fruits: print(fruit)这种方式最常用适合只需要元素值、不需要索引的场景。2. 通过索引遍历如果需要同时知道元素的位置可以用range配合len()fruits [苹果, 香蕉, 橘子] for i in range(len(fruits)): print(f第{i1}个水果是{fruits[i]})3.enumerate()同时获取索引和值这是更推荐的写法既简洁又清晰fruits [苹果, 香蕉, 橘子] for index, fruit in enumerate(fruits): print(f索引{index}{fruit})enumerate()默认从0开始也可以指定起始值for index, fruit in enumerate(fruits, start1): print(f第{index}个{fruit})四、列表的常用操作列表之所以强大很大程度上得益于它丰富的方法。这里按功能分类整理。1. 增加元素方法说明示例append(x)在列表末尾添加一个元素lst.append(5)insert(i, x)在索引i处插入元素lst.insert(0, 10)extend(iterable)将另一个可迭代对象的元素逐个追加到末尾lst.extend([6,7])nums [1, 2, 3] nums.append(4) # [1, 2, 3, 4] nums.insert(0, 0) # [0, 1, 2, 3, 4] nums.extend([5, 6]) # [0, 1, 2, 3, 4, 5, 6]注意append和extend的区别很关键。lst [1, 2] lst.append([3, 4]) # [1, 2, [3, 4]] 整个列表作为一个元素 lst.extend([5, 6]) # [1, 2, [3, 4], 5, 6] 逐个添加元素2. 删除元素方法说明pop(i)删除索引i处的元素并返回它不传参数则删除最后一个remove(x)删除第一个值为x的元素clear()清空列表所有元素del语句删除指定索引或切片nums [10, 20, 30, 40, 50]last nums.pop() # 50nums变为 [10, 20, 30, 40] first nums.pop(0) # 10nums变为 [20, 30, 40] nums.remove(30) # nums变为 [20, 40] del nums[0] # nums变为 [40]3. 修改元素修改列表元素直接通过索引赋值即可nums [1, 2, 3, 4] nums[2] 99 # [1, 2, 99, 4] # 切片赋值可以同时修改多个 nums[1:3] [8, 9] # [1, 8, 9, 4]4. 查找与统计方法说明index(x)返回第一个值为x的索引找不到会报错count(x)统计值为x的元素个数in操作符判断元素是否存在于列表中nums [1, 2, 3, 2, 4, 2] print(nums.index(3)) # 2 print(nums.count(2)) # 3 print(5 in nums) # False5. 排序与反转nums [3, 1, 4, 1, 5] # 排序永久改变 nums.sort() # [1, 1, 3, 4, 5] nums.sort(reverseTrue) # [5, 4, 3, 1, 1] # 反转 nums.reverse() # [1, 1, 3, 4, 5] # 不改变原列表返回新列表sorted 是内置函数 new_nums sorted(nums) # 不会修改原列表五、列表的复制一个常见坑由于列表是可变类型直接赋值只是复制了引用而不是复制数据a [1, 2, 3] b a b.append(4) print(a) # [1, 2, 3, 4] 原列表也被改了 如果需要真正的复制可以用以下方式 a [1, 2, 3] # 方法一切片 b a[:] # 方法二list() 构造 b list(a) # 方法三copy() 方法 b a.copy()如果列表里还嵌套了列表多层结构需要用copy.deepcopy()进行深拷贝这个后续文章会单独讲。六、列表与字符串的互转列表和字符串在实际开发中经常互相转换# 字符串 → 列表 s a,b,c,d lst s.split(,) # [a, b, c, d] # 列表 → 字符串 lst [a, b, c, d] s ,.join(lst) # a,b,c,d这个组合在解析CSV文件、处理日志时非常常用。七、总结列表是Python中最基础也最重要的数据结构掌握以下内容就能覆盖绝大多数使用场景创建[]、list()、列表推导式遍历for直接遍历、range索引、enumerate()增删改append、extend、insert、pop、remove、索引赋值查找排序index、count、sort、reverse、sorted复制注意区分引用赋值和真正的拷贝列表用得好代码写起来会顺手很多。它和字符串、字典、元组一起构成了Python数据处理的基础每一块都需要多练手。如果觉得有帮助可以收藏备用。下一篇我会接着讲字典和元组欢迎继续关注。
延伸阅读

更多相关文章

2026/9/11 13:36:24

Flowframes视频插值教程:3分钟让普通视频秒变丝滑流畅

Flowframes视频插值教程:3分钟让普通视频秒变丝滑流畅 【免费下载链接】flowframes Flowframes Windows GUI for video interpolation using DAIN (NCNN) or RIFE (CUDA/NCNN) 项目地址: https://gitcode.com/gh_mirrors/fl/flowframes Flowframes是一款功能…

2026/9/11 21:53:40

WPAN无线个人区域网核心特点:从蓝牙到ZigBee的技术解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 21:53:40

AI自动化生成架构图工具next-ai-draw-io技术解析

1. 项目概述:AI驱动的架构图自动化生成工具next-ai-draw-io是一个基于Next.js框架开发的创新工具,它通过集成AI能力实现了架构图的自动化生成。这个工具的核心价值在于将自然语言描述转化为专业的架构图,极大提升了技术文档和系统设计的效率。…

2026/9/11 21:53:40

2025-2026护眼台灯选购指南:硬指标详解、品牌横测与实测避坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 21:53:40

C语言指针深度解析:从内存寻址到高级应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 21:53:40

CMSIS-FreeRTOS深度解析:ARM官方封装的工程逻辑与实战陷阱

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/11 21:48:40

2026年服装收银系统怎么选?5款主流软件实测对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/10 16:39:38

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 12:32:02

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/10 15:19:50

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/10 15:49:53

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码