正在加载...

读取和修改字典

menu 把 rice 配上 4,把 soup 配上 2。menu["rice"] = 5 用 5 换掉 4。名字 rice 还在。soup 仍是 2。在新名字到来之前,长度仍是 2。

menu["bread"] = 1 写下原来没有的名字。bread 带着 1 进来,长度变成 3。旧名字上的新数字不会把字典变长。新名字会。

rice 换成 5,然后三个名字

python
menu = {"rice": 4, "soup": 2}
menu["rice"] = 5
menu["bread"] = 1

print(menu["rice"])
print(len(menu))

屏幕上是 5,然后 3。你要的是 rice 的数和长度,所以就是这两行。

soup 仍是 2。它没有写出来,因为程序从没问过 menu["soup"]。换掉 rice 并没有碰到 soup。

menu.get("soup") 读到那个 2。menu.get("tea") 给出 None,程序不停。tea 从来不是一个名字。menu["tea"] 会停住,因为方括号要的是已经在里面的名字。get 不会把 tea 存下来。读完之后,tea 仍不在。

有 soup,没有 tea

python
menu = {"rice": 4, "soup": 2}

print(menu.get("soup"))
print(menu.get("tea"))

屏幕上是 2,然后 None。这份 menu 重新开始:rice 又是 4,soup 是 2,第一个程序里的 bread 不在这里。长度仍是 2。None 表示 tea 不是一个名字。它不是说 tea 已经存下了。

📊 改、加,或者读一个没有的名字

写法 会发生什么
menu["rice"] = 5 rice 的数变了,长度不动
menu["bread"] = 1 来了一个新名字,长度变长
menu.get("tea") None,程序不停
menu["tea"] 程序停住

下一页把一组放进一个值里面。这一页改一个数,加一个名字,读一个没有的名字,程序并不停下。

两份菜单写出了什么

  1. 第一个程序写出什么?
  2. 那个程序之后,soup 还配着哪个数?
  3. 第二个程序写出什么?
  4. 写成 menu["tea"] 会怎样?

rice 成了 5,tea 从未存下

第一块屏幕是 5,然后 3。soup 仍是 2。第二块是 2,然后 None,在一份没有 bread 的新 menu 上。menu.get("tea") 不会把 tea 存下来。menu["tea"] 会让程序停住。下一页把一组放进一个值里面。

🧠 测试您的知识

准备开始

测试您的知识

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

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

📝 说明

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