‫欢迎回来｡
‫我一直在提到这个关键的术语可迭代的, 但它到底是什么意思, 可迭代的？
‫你会在Python编程和其他编程语言中反复听到这句话｡
‫正如我们在上一个视频中所讨论的, 可食用仅仅意味着它是一个可以迭代的对象或集合｡
‫同样, 一个可迭代对象可以是一个列表, 可以是一个字典, 可以是一个元组, 可以是一个集合｡
‫它是一个项目集合｡
‫我们也看到了一个字符串是可以迭代的｡
‫这些东西是可迭代的, 因为它们可以被迭代｡
‫迭代意味着我们可以一个一个地进行｡
‫检查集合中的每一项｡
‫当你和Python程序员交谈时, 你会一遍又一遍地听到这些｡
‫所以你要确保你有那个词汇｡
‫你在重复某件事｡
‫你在绕圈｡
‫所以iterable是名词, iterated或iterate是对可迭代对象进行迭代的动作｡
‫我知道现在有点混乱｡
‫Python中的很多对象, 就像我说的, 都是可迭代的, 但是有一些特殊的对象我们还没有介绍｡
‫特别是字典｡
‫我们看到了如何迭代列表､ 元组､ 集合和字符串｡
‫但是一个物体呢？
‫假设这里有一个对象, 这个对象是用户, 用户或者用户.
‫我们会有一个名字咕噜｡
‫我们会有年龄5000, 六列, 相当老, 然后我们会说会游泳｡
‫咕鲁, 比方说, 不会游泳｡
‫假的｡
‫如果我们在这里使用这个物体呢？
‫对于用户和我方打印的物料｡
‫就在这里｡
‫项｡
‫你觉得会发生什么？
‫让我们运行这个｡
‫嗯, 我得到了一个错误, 因为我忘记了分号在这里｡
‫我们不想要老鹰｡
‫我们需要分号｡
‫显然这也需要一个字符串｡
‫现在, 如果我单击此处的“运行”｡
‫你看那个｡
‫我知道名字年龄不会游泳｡
‫所以我把字典的键印出来了｡
‫现在这本字典｡
‫我们有钥匙｡
‫很好, 但是｡
‫嗯嗯嗯
‫如果我想呢？
‫实际上, 是价值观｡
‫有办法做到这一点吗？
‫字典有三种方法, 当我们想要遍历它们的键和值时, 它们非常有用｡
‫第一个是物品｡
‫当我执行此操作并单击“运行”时, 将显示项目｡
‫您将看到我在一个元组中获得了键值对｡
‫这是一个非常常见的模式, 你会看到很多｡
‫又一个我们有的｡
‫就是价值观｡
‫你猜怎么着？
‫这是｡
‫这就给出了的值｡
‫字典｡
‫我们看到, 用户只要将其留空, 就可以得到密钥｡
‫但是我们有一个更具描述性的方法, 它允许我们确切地显示我们想要做的事情, 那就是键｡
‫如果我们运行这个｡
‫你会看到我可以遍历这些键｡
‫这三种方法都很常见, 在你的编程生涯中, 你会经常用到它们｡
‫因此, 请务必记下它们的项､ 值和键｡
‫它允许我们遍历字典｡
‫但是另一个有趣的事情, 也是迭代字典时的另一种常见模式是,
‫如果你想打印, 比如, 分别打印项的名称和列.
‫现在我们返回一个元组, 我们可以解包元组, 对吗？
‫我可以说key value等于item, 然后只打印key value｡
‫如果我运行这个｡
‫你看到了吗？
‫我可以打印这些｡
‫但实际上有一种简单的方法可以在for循环中实现, 我可以说key value.
‫完全避开这一整条线｡
‫如果我运行这个｡
‫你去那里｡
‫还能用｡
‫这也是一个很常见的模式, 如果你在收集字典的条目, 你可以把它们分成值,
‫或者你甚至可以看到简写, K和V｡
‫同样, 这些变量可以是您需要的任何变量｡
‫你可以给他们起名字｡
‫只要能让你的代码可读性更好就行｡
‫顺便说一下, 为了好玩, 我们在最后一行, 我想迭代50｡
‫你认为会发生什么事呢？
‫如果我单击“运行”｡
‫对不起, 我不知道
‫说出她的名字｡
‫名称键｡
‫哦, 我在这里得到一个错误, 因为我还没有改变这些, 所以让我们把这些改回来｡
‫这不是我所期待的错误｡
‫我所期待的错误是这样的｡
‫类型错误, int对象不可迭代
‫这个错误现在应该说得通了, 因为我已经讲了很多遍了.
‫为什么它不可迭代？
‫因为它不是一个可以迭代的对象｡
‫它不是一个项的集合, 因为我们在Python中学过｡
‫这些都是可迭代的｡
‫下一个视频里见｡
‫再见, 再见, 再见