python字典推导式

    在昨天的文章中,我们介绍了关于 python列表推导式 的使用,字典推导式使用方法其实也类似,也是通过循环和条件判断表达式配合使用,不同的是字典推导式返回值是一个字典,所以整个表达式需要写在{}内部。

一.字典推导式语法

 

'''
语法一:
    key:字典中的key
    value:字典中的value
    dict.items():序列
    condition:条件表达式
    key_exp:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的key,value并作key_exp,value_exp处理
    value_exp:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的key,value并作key_exp,value_exp处理
'''
 
{key_exp:value_exp for key,value in dict.items() if condition}
 
'''
语法二:
    key:字典中的key
    value:字典中的value
    dict.items():序列
    condition:条件表达式
    key_exp:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的key,value并作key_exp,value_exp处理
    value_exp1:在for循环中,如果条件表达式condition成立(即条件表达式成立),返回对应的key,value并作key_exp,value_exp1处理
    value_exp2:在for循环中,如果条件表达式condition不成立(即条件表达式不成立),返回对应的key,value并作key_exp,value_exp2处理
    
'''
 
{key_exp:value_exp1 if condition else value_exp2 for key,value in dict.items()}

二.字典推导式实战

    在以下的内容中涉及到字符串的大小写转换/拆分等函数,不熟悉使用的可以先熟悉以下字符串相关操作:python字符串.

    1.在字典中提取或者修改数据,返回新的字典

输出结果:

 

2.在字符串中提取数据,返回新的字典

    在后期的爬虫课程中,我们需要获取cookies并以字典的形式传参,如果cookies是字符串则需要转换为字典,经典代码案例如下:

    输出结果:

代码分析:

     在字符串cookies中’=’前面是key,’=’后面是value,每一个’;’构成一个键值对;多个键值对构成一个字典;

    1.根据’;’将字符串拆分为列表;

    2.根据第一步获取的列表,遍历时将每一个字符串根据’=’再次拆分;

    3.根据第二步拆分的结果,列表第一个元素作为key,列表第二个元素作为value;

代码

 

三.重点总结

    字典推导式和列表推导式的效率均比普通的for循环效率更高,注意字典推导式与列表推导式的区别:

    1.列表推导式返回列表,表达式在中括号[]中

    2.字典推导式返回字典,表达式在大括号{}中

 

 

猜你喜欢:

    1.python列表推导式

    2.python字典

    3.python列表

    4.python for循环

 

    转载请注明:猿说Python » python字典推导式

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
python教程公众号
猿说python
微信公众号 扫一扫关注
原文地址:https://www.cnblogs.com/shuopython/p/11841196.html