news 2026/7/19 3:46:35

Python列表超全操作指南|定义、索引、切片、遍历与常用方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python列表超全操作指南|定义、索引、切片、遍历与常用方法

#Python #Python 基础 #列表 #编程入门 #数据结构 简介:列表是 Python 最灵活的可变序列,支持存储各类数据,增删改查操作十分常用。本文梳理列表核心操作,包含定义、索引取值、切片截取、循环遍历以及高频内置方法,附带完整可运行代码,新手可直接收藏学习。

前言

字符串是不可变文本序列,而列表是 Python 中有序、可变、可重复的容器,能够存放数字、字符串、嵌套列表等任意类型数据。数据分析、爬虫、算法练习都会大量使用列表,是必须熟练掌握的基础数据结构。

一、列表的定义

列表使用中括号[]包裹元素,元素之间用逗号隔开,也可以用 list () 函数将可迭代对象转为列表。

# 1. 空列表 lst1 = [] # 2. 单一数据类型列表 lst2 = [11, 22, 33] lst3 = ["张三", "李四", "王五"] # 3. 混合类型列表 lst4 = [18, "小明", 172.5, True, [1,2]] # 4. list()转换创建列表 s = "python" lst5 = list(s) print(lst5) # ['p','y','t','h','o','n']

核心特点:列表可变,能够直接修改内部元素,支持重复元素、多层嵌套。

二、列表索引

和字符串索引规则完全一致,分为正向索引、反向索引,区别是列表可以通过索引修改元素。 正向:0、1、2、3…… 从左向右 反向:-1、-2、-3……-1 代表最后一位

lst = ["Java", "Python", "Go", "C"] # 取值 print(lst[0]) print(lst[-1]) # 修改元素(字符串不支持此操作) lst[1] = "Python3.10" print(lst)

注意:索引超出列表长度会报 IndexError 越界错误。

三、列表切片

语法:列表[start:end:step]start:起始下标(包含),默认 0 end:结束下标(不包含),默认列表末尾 step:步长,正数正取,负数倒取

lst = [1,2,3,4,5,6] print(lst[:3]) # 从头截取到下标2 print(lst[2:]) # 下标2到末尾 print(lst[::2]) # 步长2,隔一个取一个 print(lst[::-1]) # 列表反转 print(lst[4:1:-1]) # 倒序截取区间

切片会生成全新列表,不会改变原列表。

四、列表遍历

三种常用遍历方式,适配不同开发场景

1. 直接遍历元素(最简单)

fruit = ["苹果","香蕉","葡萄"] for item in fruit: print(item)

2. range 配合 len 遍历索引

lst = [10,20,30] for i in range(len(lst)): print(i, lst[i]) lst[i] += 5 print(lst)

3. enumerate 同时获取下标和值(推荐)

lang = ["Python","Java","C++"] for index, value in enumerate(lang): print(f"下标{index}:{value}")

五、列表常用方法

列表是可变类型,大部分方法直接修改原列表,无需重新赋值。

1. 添加元素

lst = [1,2] lst.append(3) # 末尾追加单个元素 lst.extend([4,5]) # 批量追加一组数据 lst.insert(0, 0) # 指定下标插入元素 print(lst)

2. 删除元素

lst = [10,20,30,40] del lst[1] # 根据索引删除 lst.pop() # 删除末尾元素,返回被删值 lst.pop(0) # 删除指定下标 lst.remove(30) # 根据元素值删除第一个匹配项 lst.clear() # 清空列表

3. 查询、统计

lst = [2,5,8,5,1] print(lst.index(5)) # 获取元素首次出现下标 print(lst.count(5)) # 统计元素出现次数

4. 排序、反转

lst = [6,2,9,1] lst.sort() # 升序排序 lst.sort(reverse=True) # 降序排序 lst.reverse() # 单纯反转顺序,不排序

5. 拷贝列表

a = [1,2,3] b = a.copy() a.append(4) print(a) print(b)

总结

  1. 列表有序可变,支持任意数据存储,可增删改查;
  2. 索引、切片语法和字符串通用,但列表支持索引修改;
  3. 遍历优先使用 enumerate,同时拿到索引和元素;
  4. 开发高频方法:append、extend、pop、remove、sort、copy。 熟练掌握列表操作是后续学习字典、循环、算法的基础,建议逐行运行代码练习。

推荐一些适合作为Python列表操作封面的图片

生成一个包含列表操作的思维导图

推荐一些关于Python列表操作的视频教程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/19 3:46:33

RS485 多节点组网调试效率低?步控智能这项发明专利给出全新解法

一、行业普遍难题:为什么传统 RS485 组网总绕不开人工配址?在智能仓储、汽车电控、多关节机械手、楼宇采集等工控场景,RS485 总线凭借长距离、低成本优势,是多从站联动的首选通讯方案,但几乎所有设备厂商、集成商都会遭…

作者头像 李华
网站建设 2026/7/19 3:45:24

AK12游戏机制解析:后坐力控制与射击节奏优化指南

最近在游戏社区里,很多玩家都在讨论AK12这把枪的独特手感——"开火真的很舒服"。但为什么同样是突击步枪,AK12就能给玩家带来这种流畅的射击体验?这背后其实是一系列精心设计的游戏机制在起作用。如果你经常在FPS游戏中感觉控枪困难…

作者头像 李华
网站建设 2026/7/19 3:44:38

多维聚合数据操纵:从Cube架构到动态裁剪与流式再加工

1. 项目概述:当数据聚合从“加总”走向“空间折叠”你有没有遇到过这样的场景:销售报表里,区域经理要按“省份→城市→门店”三级下钻看毛利,财务总监却需要把同一份数据按“产品线→季度→销售渠道”重新切片分析,而风…

作者头像 李华
网站建设 2026/7/19 3:44:01

MLOps工程化实战:填平机器学习落地的五大失真鸿沟

1. 这不是“AI运维”,而是让机器学习真正落地的工程化操作系统MLOps — Ruling Fundamentals and few Practical Use Cases,这个标题里藏着一个被严重低估的事实:今天90%以上的机器学习项目失败,根本原因不是模型不准,…

作者头像 李华
网站建设 2026/7/19 3:43:22

C++20模块化落地困境:依赖管理盲区与渐进式迁移实战

1. 项目概述:C模块化的理想与现实最近在几个技术社区和线下交流里,一个话题被反复提起:C20标准引入的模块(Modules)特性,从发布到现在也有些年头了,但放眼望去,真正在生产环境中大规…

作者头像 李华