Python · Day 06

列表
与学习任务清单

第六天,我开始学习 Python 列表。以前一个变量通常只保存一个值,现在我可以把多个科目或任务有顺序地放在一起。

创建列表并读取内容

列表使用方括号 [],各项之间用逗号隔开。列表的位置从 0 开始,因此第一项是 subjects[0]

day6.py
subjects = ["语文", "数学", "英语", "Python"]

print(subjects)
print(subjects[0])
print(subjects[1])
print(subjects[3])

列表下标从 0 开始:位置 0 是第一项,位置 1 是第二项。下标描述的是数据在列表中的位置。

添加、修改和删除

append() 会在列表末尾追加新内容;给某个下标重新赋值可以修改已有内容。

day6.py
subjects.append("物理")
subjects[0] = "高中语文"

subjects.remove("英语")
subjects.pop(1)

print(subjects)

remove("英语") 根据内容删除,pop(1) 根据位置删除。完成这些操作后,列表中保留了“高中语文”“Python”和“物理”。

使用 for 遍历列表

“遍历”就是把列表里的内容一个接一个取出来。每一轮,变量 subject 都代表当前取到的那一项。

day6.py
for subject in subjects:
    print(subject)

print("一共有", len(subjects), "门科目")

len(subjects) 会得到列表当前包含的项目数量。循环中的输出需要缩进,而统计总数的输出放在循环外,只执行一次。

学习任务清单

最后,我创建一个空列表,连续接收三项任务。每次输入完成后,程序通过 append() 把任务放进列表,再用另一个循环逐项展示。

study_plan.py
tasks = []

for number in range(3):
    task = input("请输入今天的任务:")
    tasks.append(task)

print("今天的学习任务:")

for task in tasks:
    print("-", task)

print("一共有", len(tasks), "项任务")

程序正确收集了“背英语单词”“复习数学”和“学习 Python”,随后逐项输出,并统计出一共有 3 项任务。

为什么 range(3) 会执行三次

range(3) 依次产生 0、1、2。每个数字都会交给变量 number,所以循环一共执行三次。它不包含停止数字 3。

如果需要显示符合日常习惯的“第 1、2、3 项”,可以输出 number + 1。程序内部从 0 开始计数,并不妨碍展示时从 1 开始。

今天真正弄懂了什么

  • 列表可以在一个变量中保存多个有顺序的数据
  • 列表下标从 0 开始
  • append() 可以在末尾添加内容
  • 通过下标赋值可以修改指定位置的内容
  • remove() 按内容删除,pop() 按位置删除
  • len() 可以统计列表长度
  • for 可以逐项遍历列表
  • 空列表可以在程序运行时不断收集新的输入

今天第一次把多项数据真正组织起来。列表不只是新的语法,它让程序开始能够保存、整理和处理一组相关内容。