• 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
    微信公众号 扫一扫关注
  • 相关阅读:
    <!内容//>请问在CSS里面,这个符号是什么 意思?
    java.sql.Timestamp;
    struts做开发的时候action是继承Action方法还是ActionSupport方法
    @Autowired的用法和作用
    JavaScript方法和技巧大全
    Spring@Autowired注解与自动装配
    关于Class File Editor Source not found
    程序员:各种快捷键的用法及掌握 .
    Struts2的Preparable接口 .
    测试
  • 原文地址:https://www.cnblogs.com/shuopython/p/11841196.html
Copyright © 2020-2023  润新知