第 7 课
键值
1 / 1 · ← → 翻页
第 7 课
身份写在键上,位置只是存放的后果。

导言
字典按名字取值。
集合只关心在不在。
检索方式选定问题。
现象

你拿出对得上的那张卡片。
原理
列表把身份误当成座次。
新键不会掀翻旧键。
碳比「第 6 格」更难数错。
例证
atomic = {"H": 1, "He": 2, "C": 6}
print(atomic["C"])
print("O" in atomic)辨析
in 问的是名字在不在。
不是值在不在。
键不存在则 KeyError。
6 是碳的原子序数,是值不是键。请先判断再点破。
例证
a = {"C", "H", "O"}
b = {"H", "N", "O"}
print(a & b)
print(a | b)
print(a - b)原理
问「出现过哪些不同的元素」:集合。
问「碳被测到几次」:不要用集合。
讨论
第 3 次测量:列表。
碳的序数:字典。
共用哪些元素:集合。
辨析
空的一对花括号是空字典。
空集合必须写成 set()。
实践
地球 1,火星 2,木星 95。
两夜交集只有火星。
请打开「在线 IDE」。地球 1、火星 2、木星 95。金星不是键。第一夜木星、土星、火星,第二夜火星、金星,交集只有火星。
讨论
先看类型,再看 in 在问什么。
选错结构,等于选错了问题。
小结
检索方式决定能提出的问题。
键是身份,集合问在不在。
下一课
把同形状的过程藏进一个名字。
系数进,未知数出。