Python列表的创建与使用
困难3我的第一个Python列表:像文具盒一样整理数据
列表是Python里用来存放多个数据的一种“容器”。你可以把它想象成一个多功能文具盒:里面可以同时放铅笔、橡皮、尺子、甚至小纸条,而且每样东西都有固定的位置(位置是从0开始编号的)。有了列表,我们就能把一堆相关的东西放到一起,需要时按顺序找到它们。
1. 认识列表——用方括号创建
在Python里,我们用方括号 [] 来创建一个列表,里面的东西用逗号隔开。列表里的每一项叫元素,可以是文字、数字、甚至其他列表。
# 创建一个电脑游戏列表,里面是不同游戏的名字
games = ["我的世界", "愤怒的小鸟", "植物大战僵尸"]
print(games) # 输出:['我的世界', '愤怒的小鸟', '植物大战僵尸']
# 创建一个成绩列表,放5位同学的数学分数
scores = [95, 87, 92, 78, 88]
print(scores) # 输出:[95, 87, 92, 78, 88]
# 列表里也可以混着放不同类型的东西(但不常用)
mixed = ["小明", 10, True] # 字符串、整数、布尔值
print(mixed)
小贴士:列表里的元素可以是数字、字符串、布尔值,甚至其他列表。不过刚开始,我们先把同类型的数据放一起,更清晰。
2. 访问列表里的元素——下标从0开始
每个元素都有一个编号,叫做下标(也叫索引)。第一个元素的下标是0,第二个是1,依此类推。我们可以通过 列表名[下标] 来取出对应的元素。
想象一下学校放书包的储物柜:柜子编号从0开始,你想拿第3个柜子里的东西,就要输入下标2。
# 定义好朋友的姓名列表
friends = ["小红", "小刚", "小丽", "小华"]
# 取出第一个朋友(下标0)
first_friend = friends[0] # 小红
# 取出第三个朋友(下标2)
third_friend = friends[2] # 小丽
print("第一个朋友是:", first_friend)
print("第三个朋友是:", third_friend)
# 取倒数第一个朋友(可以用负数下标)
last_friend = friends[-1] # 小华
print("最后一个朋友是:", last_friend)
负数下标是Python的小技巧:-1 代表最后一个元素,-2 代表倒数第二个,非常方便。
3. 修改列表里的元素——像换掉坏了的橡皮
如果觉得列表里的某个元素不合适,可以直接给它重新赋值,就像把文具盒里用旧的橡皮换成新的。
# 创建一个文具盒列表
pencil_case = ["铅笔", "橡皮", "尺子"]
print("原来的文具盒:", pencil_case)
# 把位置1(原来是橡皮)换成新橡皮
pencil_case[1] = "新橡皮"
print("换掉后的文具盒:", pencil_case) # ['铅笔', '新橡皮', '尺子']
# 也可以把成绩列表里的第2个分数(下标1)改成100分
scores = [95, 87, 92, 78, 88]
scores[1] = 100 # 第二个同学考了100分
print("修改后的成绩:", scores) # [95, 100, 92, 78, 88]
4. 给列表添加新元素——就像往铅笔盒里加新笔
随着学习的进行,你可能想在文具盒里加一把新尺子。Python提供了两种常用方法:
append(新元素):在列表末尾添加一个元素。insert(下标, 新元素):在指定位置插入一个元素(后面的元素自动往后挪)。
# 先有一个零食列表
snacks = ["薯片", "巧克力", "饼干"]
print("最初的零食:", snacks)
# 在末尾加一个“棒棒糖”
snacks.append("棒棒糖")
print("加了一根棒棒糖:", snacks)
# 在第一个位置(下标0)插入“奶糖”
snacks.insert(0, "奶糖")
print("最前面加了奶糖:", snacks) # 现在列表:['奶糖', '薯片', '巧克力', '饼干', '棒棒糖']
5. 从列表删除元素——像扔掉不想要的东西
如果某些元素不再需要,可以用 remove(具体值) 或 pop(下标) 来删除。
remove(值):删除第一个匹配的元素(不知道位置时用)。pop(下标):删除指定下标的元素,并返回它(知道位置时用)。
# 一个水果列表
fruits = ["苹果", "香蕉", "橙子", "香蕉", "葡萄"]
print("原始水果:", fruits)
# 删除第一个“香蕉”
fruits.remove("香蕉")
print("删掉一个香蕉后:", fruits) # ['苹果', '橙子', '香蕉', '葡萄']
# 删除第三个元素(下标2,现在是香蕉)
removed_fruit = fruits.pop(2)
print("删掉了:", removed_fruit) # 输出:香蕉
print("剩下的水果:", fruits) # ['苹果', '橙子', '葡萄']
6. 看看列表有多长——用len()函数
想知道文具盒里有多少件东西?用 len() 函数可以返回列表中元素的个数。
# 班级里的小组名单
group = ["小张", "小李", "小王", "小赵"]
print("小组人数:", len(group)) # 输出:4
# 如果列表是空的呢?
empty_list = []
print("空列表的长度:", len(empty_list)) # 输出:0
常见错误(新手最容易踩的坑)
-
下标越界:访问不存在的下标。比如列表只有3个元素,却去取
list[3](最大是2)。
❌ 错误:pencil_case[3]—— 因为列表只有0,1,2三个位置,没有3。
✅ 正确做法:先检查len(pencil_case),确保下标在0到长度-1之间。 -
忘记用方括号:写成了圆括号
()或花括号{},Python会报错。
❌ 错误:pencil_case = ("铅笔", "橡皮")—— 这是元组,不是列表。
✅ 正确:用方括号[]。 -
忘记加逗号:如果写上
["铅笔" "橡皮"]会报错。
❌ 错误:["铅笔" "橡皮"]
✅ 正确:每个元素之间加逗号["铅笔", "橡皮"]。 -
混淆下标和值:比如想删除“橡皮”,却写成了
pencil_case.remove(1),这会尝试删除值为1的元素,而不是下标1。
❌ 错误:pencil_case.remove(1)—— 列表里没有元素等于1。
✅ 正确:用值pencil_case.remove("橡皮")或下标pencil_case.pop(1)。
完整可运行的代码示例:管理我的游戏收藏
下面是一个完整的小程序,展示列表的创建、访问、修改、添加、删除和长度查询,全部用中文注释,你可以直接复制到Python中运行。
# 我的游戏收藏列表
my_games = ["我的世界", "愤怒的小鸟", "植物大战僵尸"]
print("初始游戏列表:", my_games)
# 访问第一个游戏
first_game = my_games[0]
print("我最爱的第一个游戏是:", first_game)
# 修改第二个游戏(下标1)为“王者荣耀”
my_games[1] = "王者荣耀"
print("把第二个游戏换成王者荣耀后:", my_games)
# 在末尾添加一个新游戏
my_games.append("第五人格")
print("添加第五人格后:", my_games)
# 在第一个位置插入一个游戏
my_games.insert(0, "元梦之星")
print("在开头插入元梦之星后:", my_games)
# 删除第一个出现的神秘游戏(如果存在)
if "元梦之星" in my_games:
my_games.remove("元梦之星")
print("删除了元梦之星:", my_games)
# 删除最后一个游戏(pop不写下标默认删最后一个)
last_game = my_games.pop()
print("删除了最后一个游戏:", last_game)
print("现在剩下的游戏:", my_games)
# 游戏总数
print("我目前有", len(my_games), "个游戏")
运行这段代码,你会看到列表一步步变化,非常直观。
接下来可以学什么
学会了列表的创建与基本使用,你已经可以存放和操作一堆数据了。但列表还有很多强大的功能,比如:
- 遍历列表:用
for循环依次处理每个元素(比如给每个同学加分)。 - 列表切片:一下子拿到列表中的一段(比如前3个元素)。
- 列表排序:用
sort()或sorted()把成绩按高低排好。 - 列表嵌套:列表里再放列表,像储物柜里的抽屉。
这些内容在更高级的课程里都会学到,快去试试吧!
例题精讲
以下哪个选项可以正确创建一个包含整数1、2、3的列表?
已知列表lst = [10, 20, 30, 40],执行 lst.append(50) 后,列表的内容是什么?
列表中的元素可以被修改,因此列表是可变的数据类型。
使用列表推导式生成一个包含1到10中所有偶数的列表,请补全代码:
even_list = [x for x in range(1, 11) if ___]已知列表stack = [1, 2, 3],执行以下操作后,stack变为[1, 2, 3, 4],请补全代码:
stack.___(4)