我们来谈谈集合理解和字典理解｡
第一个其实很简单, 因为我们可以做和列表一样的事情｡
我们只需要把这些括号符号变成一个集合, 就是这样一个花括号, 所以如果我做我的列表｡
第一个, 我得到一套｡
第二个也一样｡
如果我这样走｡
我的名单到了｡
就像那样｡
我想你明白了｡
让我们再做最后一个｡
所以我的名单｡
同样, 你也可以对集合进行集合理解｡
一种快速生成集合的方法｡
我记得集合只允许不重复的数字, 只有唯一的项目｡
那么字典理解呢？
好吧, 让我们做这样的事情｡
用的是我们用过的公式｡
让我们创建一个我的债务｡
在这里, 我们将创建一个键和一个值, 就像这样｡
和这个键值｡
可以按其行事｡
在我们的例子中, 假设我们想把这个值乘以2, 或者2的幂｡
这就是我们要创建的键值对, 然后对值执行操作｡
在这里, 我会再写一个for循环｡
比如说键值｡
然后进去｡
好吧, 我知道了
然后呢？
我们要迭代什么？
好吧, 让我们在这里想想｡
为了创建一个字典, 我们需要一个键和一个值｡
好吧, 我知道了
所以我需要传递一个可迭代对象, 但是我需要传递一个可迭代对象, 就像字典一样, 既有键又有值.
所以我们可以在这里做一些简单的事情｡
我们可以说, 简单的字典, 将有｡
一为一｡
而且是｡
至于｡
现在我们要做的就是传递简单的字典｡
作为可迭代的｡
我们通过执行点项来获取键和值, 我们以前见过｡
让我们把它放大一点｡
你去那里｡
让我们把它的方式｡
我们都说清楚了｡
都在一条线上｡
现在让我们看看会发生什么, 我们将一步一步地进行｡
我要复制并粘贴它｡
如果我单击“运行”｡
你看那个｡
我有一本新字典, 里面有a等于1和a等于4｡
现在, 让我们一个一个地过一遍｡
就像我们看到的列表和集合一样｡
第一部分是我们要对数据做什么｡
在我们的例子中, 我需要key和value, 我将在for循环中提取它们｡
我可以给它取任意的名字, 也可以取K和V, 你可能会在python代码中看到,
这是键和值的简称.
然后我想对这个值进行2的幂运算｡
所以这就是我想做的｡
这就是行动｡
这是我们做的四个循环｡
所以for循环就是, 用字典的点项来提取键和值.
请记住, 我需要有两个值, 这样我就可以填写键和值｡
然后把这个值乘以2或者2的幂｡
所以我们明白了｡
例如, 我想添加一个if语句, 然后说, 嘿, 我只想让你添加｡
如果值｡
算是扯平了｡
假设模2等于0｡
只有在我单击“运行”时, 我才希望您添加词典｡
只有的偶数值会加入字典中｡
非常, 非常酷｡
同样, 这会使代码的可读性降低, 因此它只是一种便于使用的简写｡
也许如果你看到它的代码, 你至少知道它是什么｡
但是你应该小心, 不要过于聪明, 仅仅因为你可以就做单行字典的理解｡
只是为了巩固我们的知识
让我们用另一个例子来结束｡
如果我有这个呢｡
我想做一个四｡
列表中的编号｡
一, 二, 三, 一, 二, 三
所以我们不再有这个字典了, 但是我们仍然需要包含一个键和一个值对｡
我能不能这样做, 也许项是键, 项乘以2是值？
我们要怎么做？
暂停视频, 如果你想要的话, 可以给予｡
我们就是这么做的｡
我们简单地说number是键, 值是num乘以2｡
就像那样｡
没什么难的｡
对不对？
如果我点击运行｡
我们走吧｡
我们能够运用理解力｡
列表解析将字典解析设置为一种用Python创建列表的方法, 一种用Python快速创建这些数据结构的方法｡
让我们休息一下, 在下一个视频中做一个练习｡