正在加载...

添加和删除元素

tray 一开始是 rice,然后是 soup。append("bread") 把 bread 加到末尾。rice 和 soup 留在前面,顺序不变。append 不会把东西插到前面。

print 写出整个 tray,括号也在。bread 在最后,因为它是最后加上的。

bread 加到末尾

python
tray = ["rice", "soup"]
tray.append("bread")

print(tray)

屏幕上是 rice、soup 和 bread,bread 在最后。tray 现在有三个值。新位置是 2,那里的值是 bread。

pop() 拿走最后一个值。这个调用的结果就是那个值,所以可以把它写出来。留下来的是原先在前面的那些。它们的顺序不变。

bread 被拿走

python
tray = ["rice", "soup", "bread"]
last = tray.pop()

print(last)
print(tray)

屏幕上先是 bread,然后是 rice 和 soup。bread 已经不在 tray 里。last 是 bread,因为 pop() 刚刚拿走的就是它。

每一次 append 都加到当时的末尾。从 rice 开始,加上 soup,再加上 bread。个数变成 3,2 号位置是 bread。

加两次,然后看 2 号

python
tray = ["rice"]
tray.append("soup")
tray.append("bread")

print(len(tray))
print(tray[2])

屏幕上先是 3,然后是 bread。有一会儿末尾是 soup,后来末尾变成了 bread。len(tray) 数的是两次添加之后还在的那些。

append 把末尾变长。pop 从末尾缩短,调用的结果就是离开的那个值。

📊 添加或拿走

动作 变的是什么
append 一个值加到末尾
pop 最后一个值离开,调用的结果就是这个值

两处容易做错

append("bread") 绝不会把 bread 放到 rice 前面。能添加的地方只有末尾。在没有值的 tray 上 pop(),程序会停下,因为没有最后一个值可以拿走。这种空的情况上面没有。

下一页改的是列表里已经有的一个值。这一页只在末尾添加,并拿走最后一个值。

变了以后

  1. 第一个程序从第一个值到最后一个写出什么?
  2. 第二个程序里 print(last) 写出什么?
  3. 这次 pop 之后,tray 里还剩哪些值?
  4. 第三个程序先写什么,后写什么?

加上,再拿走

append("bread") 把 bread 加到 rice 和 soup 的末尾,所以第一屏以 bread 结束。pop() 拿走这个 bread,print(last) 写出 bread,tray 又变成 rice,然后 soup。两次 append 让个数变成 3,2 号位置是 bread。在空的 tray 上 pop(),程序会停下。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
4
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部