zoukankan      html  css  js  c++  java
  • python的字典和json有什么区别

    转载自https://blog.csdn.net/u010569893/article/details/97538914

    一. python的字典和json字符串的区别

    python中,json和dict非常类似,都是key-value的形式,而且json和dict也可以非常方便的通过dumps和loads互转,但是它们之间还是有区别的:

    json:是一种数据格式,是纯字符串。可以被解析成python的dict或其他形式。

    dict:是一个完整的数据结构,是对hash table这一数据结构的实现,是一套从存储到提取都封装好的方案。它使用内置的hash函数来规划key对应的value的存储位置,从而获得O(1)的数据读取速度。

    二. json和dict对比:

    1)json的key只能是字符串,dict的key可以是任何可hash的对象,例如:字符串、数字、元组等。

    2)json的key可以是有序、重复的;dict的key不可重复;

    3)json的value只能是字符串、浮点数、布尔值或者null,或者它们构成的数组或者对象;

    4)json任意key存在默认值undefined,dict默认没有默认值;

    5)json访问方式可以是[],也可以是.,遍历方式分in,of; dict的value仅仅可以下标访问;

    6)json的字符串强制用双引号,dict的字符串可以用单引号、双引号;

    7)dict可以嵌套tuple,json里只有数组

    8)json:true、false、null

    9)dict:True、False、None

    10)json中文必须是unicode编码,如“u6211”

    11)json的类型时字符串,字典的类型是dict

    三. 示例:

    #coding:utf-8
    import sys
    import json
    
    dic = {"name": "王五", "age":29, "is_male":False, "school":None}
    print "dic:", dic
    
    my_json = json.dumps(dic)
    print "my_json:", my_json

    结果:

    dic: {'age': 29, 'school': None, 'name': 'xe7x8ex8bxe4xbax94', 'is_male': False}
    my_json: {"age": 29, "school": null, "name": "u738bu4e94", "is_male": false}

    ————————————————
    版权声明:本文为CSDN博主「追梦杏花天影」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/u010569893/java/article/details/97538914

  • 相关阅读:
    面向对象进阶
    20191011作业
    2019.10.10作业
    类的继承
    面向对象
    2019.10.09作业
    pandas模块
    [BZOJ 2190][SDOI2008]仪仗队(欧拉函数)
    [BZOJ 2729][HNOI2012]排队(组合数学+高精)
    [BZOJ 1491][NOI2007]社交网络(Floyd)
  • 原文地址:https://www.cnblogs.com/llh-ywr/p/13385285.html
Copyright © 2011-2022 走看看