【成人版python基础入门】第二章 列表——你的超级笔记本
列表——你的超级笔记本
在与 Python 的第一次浪漫相遇之后,我们已经学会了如何使用变量、数据类型、条件判断和循环。现在,让我们继续深入探索 Python 的数据结构,开启一场数据结构冒险。首先,我们要介绍的是列表,它就像是你手边的超级笔记本,可以随时记录和管理你想保存的内容。
列表的基本概念
列表是什么?
列表是 Python 中最常用的数据结构之一,它可以存储多个元素,这些元素可以是任何类型的数据,如整数、浮点数、字符串、甚至其他列表。列表中的元素通过索引(index)来访问,索引从0开始。这就像你在笔记本中记录了一个个事项,每项都有一个固定的编号,你可以随时通过编号找到它。
想象一下,你有一本超级笔记本,记录了你生活的点点滴滴。例如,你记录了你最喜欢的电影、朋友的生日、每周的任务清单等。这本笔记本就是 Python 中的列表,你可以随时添加、删除、修改和查找内容。
列表的创建
创建列表非常简单,只需要用方括号 []
把你想记录的元素包起来即可。
# 创建一个空列表
my_list = []
# 创建一个包含多个元素的列表
movies = ["泰坦尼克号", "阿凡达", "盗梦空间", "狮子王"]
这就像你在笔记本的第一页写下了你最喜欢的几部电影,每部电影都有一个固定的位置。
访问列表元素
访问列表中的元素非常直观,只需要用索引来指定你想找的内容。索引从0开始,依次递增。
movies = ["泰坦尼克号", "阿凡达", "盗梦空间", "狮子王"]
# 访问第一个元素
print(movies[0]) # 输出:泰坦尼克号
# 访问最后一个元素
print(movies[-1]) # 输出:狮子王
# 访问多个元素
print(movies[1:3]) # 输出:['阿凡达', '盗梦空间']
这就像你在笔记本中翻到某一页,用手指指着某个位置,告诉别人这就是你想展示的内容。
列表的长度
想知道列表中有多少个元素?使用 len()
函数可以轻松获取列表的长度。
movies = ["泰坦尼克号", "阿凡达", "盗梦空间", "狮子王"]
print(len(movies)) # 输出:4
这就像你在笔记本中数了数你记录的事项,发现一共有4个事项。
增删改查列表元素
添加元素
添加元素到列表中,你可以使用 append()
方法将新元素添加到列表的末尾,或者使用 insert()
方法将新元素插入到列表的指定位置。
movies = ["泰坦尼克号", "阿凡达", "盗梦空间", "狮子王"]
# 添加新元素到末尾
movies.append("头号玩家")
print(movies) # 输出:['泰坦尼克号', '阿凡达', '盗梦空间', '狮子王', '头号玩家']
# 插入新元素到指定位置
movies.insert(1, "肖申克的救赎")
print(movies) # 输出:['泰坦尼克号', '肖申克的救赎', '阿凡达', '盗梦空间', '狮子王', '头号玩家']
这就像你在笔记本中添加了一个新的事项,既可以写在最后,也可以插入到你想放置的位置。
删除元素
删除列表中的元素,你可以使用 remove()
方法删除指定的元素,或者使用 pop()
方法删除指定索引位置的元素。如果 pop()
方法不带参数,它会默认删除最后一个元素。
movies = ["泰坦尼克号", "阿凡达", "盗梦空间", "狮子王", "头号玩家"]
# 删除指定元素
movies.remove("头号玩家")
print(movies) # 输出:['泰坦尼克号', '阿凡达', '盗梦空间', '狮子王']
# 删除指定索引位置的元素
movies.pop(2)
print(movies) # 输出:['泰坦尼克号', '阿凡达', '狮子王']
# 删除最后一个元素
last_movie = movies.pop()
print(last_movie) # 输出:狮子王
print(movies) # 输出:['泰坦尼克号', '阿凡达']
这就像你在笔记本中取消了一个事项,既可以划掉你不再需要的事项,也可以撕掉某一页,把上面的内容删除。
修改元素
修改列表中的元素,只需要通过索引访问元素并赋予新的值。
movies = ["泰坦尼克号", "阿凡达", "盗梦空间", "狮子王"]
# 修改指定索引位置的元素
movies[2] = "怦然心动"
print(movies) # 输出:['泰坦尼克号', '阿凡达', '怦然心动', '狮子王']
这就像你在笔记本中修改了一个事项,把它改成你新的想法。
查找元素
查找列表中的元素,可以使用 in
关键字判断某个元素是否在列表中,也可以使用 index()
方法获取元素的索引位置。
movies = ["泰坦尼克号", "阿凡达", "怦然心动", "狮子王"]
# 判断元素是否在列表中
if "怦然心动" in movies:
print("找到了!这是你修改过的内容。")
# 获取元素的索引位置
index = movies.index("阿凡达")
print("阿凡达的位置是:", index) # 输出:1
这就像你在笔记本中查找一个内容,确认它是否已经记录在案,或者找到它记录的具体位置。
列表方法速览
append()
:添加新事项
append()
方法将新元素添加到列表的末尾。
movies = ["泰坦尼克号", "阿凡达"]
movies.append("头号玩家")
print(movies) # 输出:['泰坦尼克号', '阿凡达', '头号玩家']
这就像你在笔记本的最后一页写下了新的事项。
insert()
:插入新事项
insert()
方法将新元素插入到列表的指定位置。
movies = ["泰坦尼克号", "阿凡达", "狮子王"]
movies.insert(1, "肖申克的救赎")
print(movies) # 输出:['泰坦尼克号', '肖申克的救赎', '阿凡达', '狮子王']
这就像你在笔记本中的某一页插入了一个新的事项。
remove()
:取消事项
remove()
方法删除列表中的指定元素。
movies = ["泰坦尼克号", "阿凡达", "怦然心动", "狮子王"]
movies.remove("怦然心动")
print(movies) # 输出:['泰坦尼克号', '阿凡达', '狮子王']
这就像你在笔记本中划掉了一个不再需要的事项。
pop()
:删除指定位置的事项
pop()
方法删除列表中指定索引位置的元素。如果 pop()
方法不带参数,它会默认删除最后一个元素。
movies = ["泰坦尼克号", "阿凡达", "怦然心动", "狮子王"]
last_movie = movies.pop()
print(last_movie) # 输出:狮子王
print(movies) # 输出:['泰坦尼克号', '阿凡达', '怦然心动']
这就像你在笔记本中撕掉最后一页,或者指定某一页。
index()
:查找事项的位置
index()
方法返回列表中指定元素的索引位置。
movies = ["泰坦尼克号", "阿凡达", "怦然心动", "狮子王"]
index = movies.index("阿凡达")
print("阿凡达的位置是:", index) # 输出:1
这就像你在笔记本中找到一个事项的具体位置。
count()
:统计事项的出现次数
count()
方法返回列表中指定元素的出现次数。
movies = ["泰坦尼克号", "阿凡达", "阿凡达", "怦然心动", "阿凡达"]
count = movies.count("阿凡达")
print("阿凡达出现了", count, "次。") # 输出:阿凡达出现了 3 次。
这就像你在笔记本中数了数某个事项出现了多少次。
sort()
:排序事项
sort()
方法对列表中的元素进行排序。
movies = ["泰坦尼克号", "阿凡达", "怦然心动", "狮子王"]
movies.sort()
print(movies) # 输出:['阿凡达', '狮子王', '泰坦尼克号', '怦然心动']
这就像你在笔记本中整理了一个事项列表,按照字母顺序排列。
reverse()
:倒序排列事项
reverse()
方法将列表中的元素倒序排列。
movies = ["泰坦尼克号", "阿凡达", "怦然心动", "狮子王"]
movies.reverse()
print(movies) # 输出:['狮子王', '怦然心动', '阿凡达', '泰坦尼克号']
这就像你在笔记本中倒着阅读一个事项列表。
代码样例:记录你最爱的电影列表
假设你有一本超级笔记本,记录了你最爱的电影。现在,你想要添加新的电影,删除不再喜欢的电影,并查看列表中的电影数量。让我们通过一个实际的代码样例来实现这个功能。
代码实现
# 创建一个空列表,用于记录你最爱的电影
favorite_movies = []
# 添加你最爱的电影
favorite_movies.append("泰坦尼克号")
favorite_movies.append("阿凡达")
favorite_movies.append("怦然心动")
# 输出当前列表
print("你最爱的电影列表:")
for movie in favorite_movies:
print(movie)
# 添加新的电影
new_movie = input("请输入你最新爱上的电影: ")
favorite_movies.append(new_movie)
print("添加新电影后,你最爱的电影列表:")
for movie in favorite_movies:
print(movie)
# 删除不再喜欢的电影
disliked_movie = input("请输入你想删除的电影: ")
if disliked_movie in favorite_movies:
favorite_movies.remove(disliked_movie)
print("删除不再喜欢的电影后,你最爱的电影列表:")
for movie in favorite_movies:
print(movie)
else:
print("你输入的电影不在列表中,无需删除。")
# 查看列表中的电影数量
movie_count = len(favorite_movies)
print("你最爱的电影有", movie_count, "部。")
代码详解
-
创建空列表:
favorite_movies = []
创建一个空列表
favorite_movies
,用于记录你最爱的电影。 -
添加你最爱的电影:
favorite_movies.append("泰坦尼克号") favorite_movies.append("阿凡达") favorite_movies.append("怦然心动")
使用
append()
方法将你喜欢的电影添加到列表中。 -
输出当前列表:
print("你最爱的电影列表:") for movie in favorite_movies: print(movie)
使用
for
循环遍历列表favorite_movies
,并输出每部电影的名字。 -
添加新的电影:
new_movie = input("请输入你最新爱上的电影: ") favorite_movies.append(new_movie) print("添加新电影后,你最爱的电影列表:") for movie in favorite_movies: print(movie)
使用
input()
函数获取用户输入的新电影名称,然后用append()
方法将其添加到列表中。最后,再次输出更新后的列表。 -
删除不再喜欢的电影:
disliked_movie = input("请输入你想删除的电影: ") if disliked_movie in favorite_movies: favorite_movies.remove(disliked_movie) print("删除不再喜欢的电影后,你最爱的电影列表:") for movie in favorite_movies: print(movie) else: print("你输入的电影不在列表中,无需删除。")
使用
input()
函数获取用户输入的不再喜欢的电影名称,然后通过if
语句检查该电影是否在列表中。如果在,使用remove()
方法将其删除,并输出更新后的列表;如果不在,输出提示信息。 -
查看列表中的电影数量:
movie_count = len(favorite_movies) print("你最爱的电影有", movie_count, "部。")
使用
len()
函数获取列表favorite_movies
的长度,即电影的数量,并输出结果。
运行结果
假设你运行了上面的代码,程序会提示你输入新的电影和你想删除的电影。例如:
你最爱的电影列表:
泰坦尼克号
阿凡达
怦然心动
请输入你最新爱上的电影: 漫威英雄
添加新电影后,你最爱的电影列表:
泰坦尼克号
阿凡达
怦然心动
漫威英雄
请输入你想删除的电影: 泰坦尼克号
删除不再喜欢的电影后,你最爱的电影列表:
阿凡达
怦然心动
漫威英雄
你最爱的电影有 3 部。
摘要
通过这一篇的学习,你已经学会了如何使用 Python 的列表,管理你想保存的内容。列表就像是你手边的超级笔记本,可以随时记录和管理你的数据。
- 创建与访问:使用方括号
[]
创建列表,通过索引访问列表中的元素。 - 增删改查:使用
append()
、insert()
、remove()
和pop()
方法添加、删除和修改列表元素,使用in
关键字和index()
方法查找元素。 - 列表方法:学会了常用的列表方法,如
append()
、insert()
、remove()
、pop()
、index()
、count()
、sort()
和reverse()
。
希望这篇教程能为你与 Python 的旅途带来更多的乐趣和信心。让我们继续前行,探索更多的数据结构和编程技巧。🌈✨
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)