#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)总结
- 列表有序可变,支持任意数据存储,可增删改查;
- 索引、切片语法和字符串通用,但列表支持索引修改;
- 遍历优先使用 enumerate,同时拿到索引和元素;
- 开发高频方法:append、extend、pop、remove、sort、copy。 熟练掌握列表操作是后续学习字典、循环、算法的基础,建议逐行运行代码练习。
推荐一些适合作为Python列表操作封面的图片
生成一个包含列表操作的思维导图
推荐一些关于Python列表操作的视频教程