zoukankan      html  css  js  c++  java
  • 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
    微信公众号 扫一扫关注
  • 相关阅读:
    Exception in thread "main" java.io.IOException: Cannot run program "XX": CreateProcess error
    用eclipse打包mapreduce程序 运行出现解析路径错误的诡异问题
    HTMLParser学习笔记(一)
    Prim算法实现
    hadoop mapreduce 出现找不到 各种类的错误
    搜索引擎的基本原理
    ArrayList 和数组 在mapreduce编程中序列化
    读《做你自己》
    对于通过视频学习编程的建议
    长篇文档排版技巧
  • 原文地址:https://www.cnblogs.com/shuopython/p/11841196.html
Copyright © 2011-2022 走看看