读取和修改字典
menu 把 rice 配上 4,把 soup 配上 2。menu["rice"] = 5 用 5 换掉 4。名字 rice 还在。soup 仍是 2。在新名字到来之前,长度仍是 2。
menu["bread"] = 1 写下原来没有的名字。bread 带着 1 进来,长度变成 3。旧名字上的新数字不会把字典变长。新名字会。
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 仍不在。
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"] | 程序停住 |
下一页把一组放进一个值里面。这一页改一个数,加一个名字,读一个没有的名字,程序并不停下。
两份菜单写出了什么
- 第一个程序写出什么?
- 那个程序之后,soup 还配着哪个数?
- 第二个程序写出什么?
- 写成 menu["tea"] 会怎样?
rice 成了 5,tea 从未存下
第一块屏幕是 5,然后 3。soup 仍是 2。第二块是 2,然后 None,在一份没有 bread 的新 menu 上。menu.get("tea") 不会把 tea 存下来。menu["tea"] 会让程序停住。下一页把一组放进一个值里面。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部