作为Python学习者来说,我一看到“列表语法”就头大?要么记不住方法,要么写代码就报错,明明看着简单,实操起来就是记不住。其实根本不用死记硬背,今天就用“请客吃饭”的场景,把列表用法讲得明明白白,每一步都有可复制代码,再也不用为列表语法发愁!
列表类比成现实生活中我们请客时的“菜品清单”,可以随时添加、删除、调整菜品,操作灵活,也是Python里最常用的数据类型之一。下面我们按“常用语法”和“不常用语法”分类,逐一拆解,每个语法都配请客场景案例,一看就会。
一、常用语法(必学,高频使用,小白优先掌握)
1. 列表定义(基础常用)
核心作用:定义列表(类比请客时列菜品清单),是所有列表操作的基础,小白必掌握。
# 列表定义(常用):类比请客时的菜品清单、客人名单# 语法:列表名 = [元素1, 元素2, ...](元素可是文字、数字)# 案例1:请客菜品清单(文字元素)dish_list = ["鱼香肉丝", "宫保鸡丁", "番茄炒蛋"]# 案例2:邀请客人名单(文字元素)guest_list = ["张三", "李四", "王五"]# 案例3:菜品价格清单(数字元素)price_list = [28, 32, 25.8]
2. 列表添加元素(append方法,常用)
核心作用:给列表新增元素(类比请客时临时加菜),最常用、最基础的添加方法。
# append方法(常用):在列表末尾添加1个元素(类比加菜)dish_list = ["鱼香肉丝", "宫保鸡丁"]dish_list.append("麻婆豆腐") # 给菜品清单加一道菜print("加菜后清单:", dish_list) # 输出:["鱼香肉丝", "宫保鸡丁", "麻婆豆腐"]
3. 列表删除元素(2种常用方式:remove方法 + del语句)
核心作用:删除列表中不需要的元素(类比请客时撤掉不想点的菜),两种方式用法不同,重点掌握。
(1)remove方法(常用):根据“元素内容”删除
特点:直接指定要删除的元素内容,不用记索引,小白最常用,适合不知道元素位置的情况。
# remove方法(常用):根据元素内容删除(类比撤掉不想点的菜)dish_list = ["鱼香肉丝", "宫保鸡丁", "番茄炒蛋"]dish_list.remove("番茄炒蛋") # 直接指定要删除的菜品print("撤菜后清单:", dish_list) # 输出:["鱼香肉丝", "宫保鸡丁"]
(2)del语句(常用):根据“索引位置”删除
特点:指定元素的索引位置删除,适合知道元素在列表中位置的情况,比remove更灵活。
# del语句(常用):根据索引位置删除(索引从0开始,类比按位置撤菜)dish_list = ["鱼香肉丝", "宫保鸡丁", "番茄炒蛋", "麻婆豆腐"]# 1. 删除指定索引的元素(索引2对应“番茄炒蛋”)del dish_list[2]print("删除索引2后的清单:", dish_list) # 输出:["鱼香肉丝", "宫保鸡丁", "麻婆豆腐"]# 2. 拓展:删除整个列表(很少用,了解即可)del guest_list # 直接删除整个列表,删除后无法再使用该列表
4. 列表删除元素(新增pop()方法,常用)
核心作用:根据索引删除元素,删除后返回被删除的元素,类比请客时撤掉指定位置的菜品,灵活度更高。
# pop()方法(常用):根据索引删除元素,返回被删除值dish_list = ["鱼香肉丝", "宫保鸡丁", "番茄炒蛋", "麻婆豆腐"]# 删除索引1对应的元素(宫保鸡丁),并返回该元素deleted_dish = dish_list.pop(1)print("被删除的菜品:", deleted_dish) # 输出:宫保鸡丁print("删除后清单:", dish_list) # 输出:["鱼香肉丝", "番茄炒蛋", "麻婆豆腐"]# 拓展:pop()不写索引,默认删除最后一个元素dish_list.pop() # 删除最后一个菜品(麻婆豆腐)print("删除最后一个菜品后:", dish_list) # 输出:["鱼香肉丝", "番茄炒蛋"]
5. 列表修改元素(常用)
核心作用:修改列表中已有的元素,类比请客时调整菜品,直接修改对应“菜品”内容。
# 直接通过索引修改元素(最常用)dish_list = ["鱼香肉丝", "宫保鸡丁", "番茄炒蛋"]dish_list[1] = "可乐鸡翅" # 将索引1的“宫保鸡丁”改为“可乐鸡翅”print("修改后清单:", dish_list) # 输出:["鱼香肉丝", "可乐鸡翅", "番茄炒蛋"]# 批量修改多个元素dish_list[1:3] = ["红烧排骨", "蒜蓉西兰花"] # 修改索引1和2的元素print("批量修改后:", dish_list) # 输出:["鱼香肉丝", "红烧排骨", "蒜蓉西兰花"]
6. 列表排序(2种常用方法,分开讲解)
核心作用:给列表元素排序,适配不同使用场景,轻松上手。
(1)sort()方法:直接修改原列表(常用)
特点:直接对原列表进行排序,修改原列表内容,适合快速整理。
# sort()方法(常用):直接修改原列表dish_list = ["番茄炒蛋", "鱼香肉丝", "宫保鸡丁"]dish_list.sort() # 按拼音排序,直接修改原列表print("sort()排序后:", dish_list) # 输出:["宫保鸡丁", "番茄炒蛋", "鱼香肉丝"]
(2)sorted()方法:不修改原列表(常用)
特点:生成新的排序后列表,原列表保持不变,适合需要保留原列表的场景。
# sorted()方法(常用):生成新列表,不修改原列表dish_list = ["番茄炒蛋", "鱼香肉丝", "宫保鸡丁"]sorted_dish = sorted(dish_list) # 生成新的排序后列表print("原列表:", dish_list) # 原列表不变print("排序后新列表:", sorted_dish) # 输出:["宫保鸡丁", "番茄炒蛋", "鱼香肉丝"]
核心作用:对列表元素排序,适配不同需求,区别于sort()方法(修改原列表),sorted()不改变原列表。
# sorted()方法(常用):不修改原列表,返回排序后的新列表dish_list = ["番茄炒蛋", "鱼香肉丝", "宫保鸡丁"]sorted_dish = sorted(dish_list) # 按拼音排序print("排序后新列表:", sorted_dish) # 输出排序后的列表print("原列表不变:", dish_list) # 原列表未被修改# 对比sort()方法(修改原列表)dish_list.sort()print("sort()修改后原列表:", dish_list) # 原列表已排序
7. 列表切片(常用)
核心作用:快速获取列表中的部分元素(类比请客时从所有菜品里挑几样重点菜、特色菜),不用逐个查找,高效便捷,高频使用。
# 切片语法(常用):列表名[起始索引:结束索引](索引从0开始,结束索引不包含)dish_list = ["鱼香肉丝", "宫保鸡丁", "番茄炒蛋", "麻婆豆腐", "可乐鸡翅"]# 案例1:获取前2个菜品(重点推荐菜)print("前2个重点菜品:", dish_list[0:2]) # 输出:["鱼香肉丝", "宫保鸡丁"]# 案例2:获取从第2个开始的所有菜品(后续加的菜)print("后续加的菜品:", dish_list[1:]) # 输出:["宫保鸡丁", "番茄炒蛋", "麻婆豆腐", "可乐鸡翅"]# 案例3:获取最后2个菜品(压轴菜)print("压轴菜品:", dish_list[-2:]) # 输出:["麻婆豆腐", "可乐鸡翅"]# 案例4:获取指定范围菜品(索引1到3,不含3)print("中间菜品:", dish_list[1:3]) # 输出:["宫保鸡丁", "番茄炒蛋"]
二、不常用语法(了解即可,无需重点掌握)
1. 列表插入元素(insert方法,不常用)
作用:在指定位置插入元素(类比请客时在指定菜品后面加菜),很少用到,了解即可。
# insert方法(不常用):在指定索引位置插入元素dish_list = ["鱼香肉丝", "宫保鸡丁"]# 在索引1的位置(宫保鸡丁后面)插入“番茄炒蛋”dish_list.insert(1, "番茄炒蛋")print("插入后清单:", dish_list) # 输出:["鱼香肉丝", "番茄炒蛋", "宫保鸡丁"]
2. 列表清空(clear方法,不常用)
作用:清空列表中所有元素(类比请客时清空菜品清单),几乎用不到,了解即可。
# clear方法(不常用):清空列表所有元素dish_list = ["鱼香肉丝", "宫保鸡丁"]dish_list.clear() # 清空所有菜品print("清空后清单:", dish_list) # 输出:[](空列表)
如果觉得单靠零散练习不够系统,推荐下面这本书,这本书完全贴合零基础人群,把Python知识基础知识点讲得通俗易懂,每节都配实操案例和代码解析,不用死记硬背,跟着学就能稳步入门,避免走弯路。
朱熹曾说:“读书之法,当循序而有常,致一而不懈”,不用急于求成,跟着场景慢慢学、反复练,终会有所收获。