‫欢迎回来｡
‫我曾向您提到过, 字典的值可以保存任何类型的数据类型, 但是键呢？
‫到目前为止, 我只使用字符串来表示键｡
‫但我能做这样的事吗？
‫我可以做一, 二, 三｡
‫就像这样｡
‫好吧, 让我们来看看｡
‫让我们来试试吧｡
‫如果我做了｡
‫一, 二, 三, 一, 二, 三
‫然后单击“Run（运行）”｡
‫我明白了｡
‫一, 二, 三, 一, 二, 三
‫太棒了｡
‫这就对了｡
‫说说什么｡
‫真的呢？
‫如果我选择“如果我有钥匙”｡
‫真的, 我点击运行, 这样行吗？
‫是的, 我知道
‫看起来很有效｡
‫名单呢？
‫如果我有一个列表, 比如说, 只有100个呢？
‫这样行吗？
‫如果我单击“运行？”
‫不知道｡
‫它不工作｡
‫上面写着无法破解的类型列表｡
‫那是什么意思？
‫字典键需要有特殊的属性｡
‫密钥必须是不可变的｡
‫那是一把无法改变的钥匙｡
‫和布尔数｡
‫我的意思是, 这是一个无法改变的价值观｡
‫如果您还记得的话, 字符串是一个不能更改的值｡
‫它是不可改变的｡
‫但如果你还记得的话, 名单是可以改变的, 对吧？
‫在一个列表中, 我可以重新分配, 比如说, 索引0, 给别的东西, 对吗？
‫因此, 字典会说, 嘿, 我的钥匙, 因为我把它们存储在内存中, 我不想丢失它们｡
‫它必须是不会改变我的东西｡
‫也许一个程序员进来错误地改变了这个100的数组, 使它有了一个其他东西的索引｡
‫好吧, 我知道了
‫Dictionary并不真的想要这样, 因为它不想失去这个值｡
‫因此字典键必须始终是不可变的｡
‫当我们学习到其他一些东西时, 比如我们将在接下来的视频中看到的一些东西, 你也可以用它们作为钥匙｡
‫然而, 在大多数情况下, 95%, 99%的情况下, 字典的关键字通常是描述性的东西, 比如字符串｡
‫好吧, 我会的
‫但是这个呢？
‫如果我们有另一个字符串呢？
‫一, 二, 三, 一, 二, 三
‫我们先把这个拿掉｡
‫当我搜索1､ 2､ 3时会发生什么？
‫弦｡
‫如果单击“运行”, 则会得到｡
‫你好吗？
‫字典中的一个键必须是唯一的, 因为只能有一个键, 因为这个键将代表内存空间中的一个书架｡
‫所以每次我用同样的键加一个值, 它都会被覆盖｡
‫所以这个已经不存在了｡
‫一个密钥必须是唯一的, 它只能很好地存在, 只有一次｡
‫否则我们会覆盖它｡
‫这就是为什么你看｡
‫你好啊
‫我们失去了阵列｡
‫一, 二, 三, 一, 二, 三
‫让我们在下一个视频中进一步探讨这个想法｡