python3基础之如何使用字典和集合推导式

    字典推导式

    和列表推导式的作用一样,字典推导式是创建字典的一种方式。关于列表推导式请看《python3基础之如何使用列表推导式》。字典推导式的基本结构如下图:

    image.png

    从形式上看字典推导式和列表推导式非常相似,无非就是把中括号改成了大括号。另外表达式也是由两部分组成(因为字典的一个元素包含key和value两部分)。推导式的执行过程是一样的,写个例子测试一下:

    image.png

    推导式的执行过程就是一个for循环的过程,表达式1的结果就是新元素的key,表达式2的结果就是新元素的value。该例子是使用一个列表推导出一个字典。当然也可以用别的可迭代对象进行推导:

    image.png

    本例中的推导式是使用一个字典进行推导,该推导式的意思就是将每个元素的value加1。

    字典推导式同样可以加判断条件,直接上例子:

    image.png

    带判断条件的推导式就相当于在for循环底下加了一层判断。这个例子标出了推导式的4个部分和底下的for循环是对应的,如果第一个例子没看明白可以看看这个例子,应该很容易理解。

    理解了带if的推导式,接下来看看带多个for的推导式,测试代码如下:

    image.png

    带多个for的推导式就类似于for循环的嵌套。不过需要注意的是,由于字典的键不允许重复,因此嵌套的for执行结果个数不一定是两个for循环执行次数相乘。


     集合推导式

     经过测试发现列表推导式和字典推导式的形式和执行过程是类似的。其实集合推导式也是一样的,这里就不再重复分析了,直接看个例子吧:

    image.png

    集合推导式和列表推导式区别就是中括号变成了大括号,和字典推导式区别就是表达式只有一个,执行过程都是一样的。只要理解了其中一种就能理解另外两种。在使用时还需要注意它们各自的特性,比如集合元素不重复,字典的key不重复。

演示站
上一篇:python3基础之如何使用列表推导式
下一篇:python3基础之生成器

发表评论