json字符串和字典的区别:
json:
(JavaScript Object Notation)的首字母缩写,字面的意思是(javascript对象表示法),这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式, 前端使用ajax的时候后台返回该前端的数据格式就是json格式的。
字典是一种数据结构,而json是一种数据格式,
格式就会有一些形式上的限制,比如json的格式要求必须且只能使用双引号作为key或者值的边界符号(值如果是数字可以不用加双引号),不能使用单引号,用单引号或者不用引号会导致读取数据错误,而且“key”必须使用边界符(双引号),但字典就无所谓了,可以使用单引号,也可以使用双引号。
总结:
json的特点
1. 字符串外边有单引号
2. json是类字典的形式,里面的键-值对规定必须使用双引号,值如果是数字可以不加双引号,
但是键必须是双引号引起来的字符串, json的值可以是普通变量,数组,json对象
缺点:
json只有null、布尔、数字、字符串、数组和对象这几种数据类型,JSON没有日期类型
使用单引号或者不使用符号会报错,因为是一种数据格式所以其更严格,
json转换成字典后进行操作
字典是一种数据结构,其具有O(1)的时间复杂度,例如python中所述的tuple list,list集合set
区别总结::
定义上:字典是一种数据结构
json是一种数据的表现形式,一种数据格式
写法上:
字典中的key,只要是hanshabke的数据类型即可,但是json的键key(属性名称)必须使用双引号
关于 -hanshable的数据结构,简单理解,是不可变的数据类型;所以在字典中的键,可以是元组或者字符串等不可变的数据类型
对比
1) json的key智能是字符串,dict可以是任何可hansh的对象,字符串、数字、元组等
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
Python --字典(增删改查)
字典里可以增加函数
字典里面fuck() 或者 不带() 但是在后面增加()【如下图】也能执行函数
def fuck():
print('fuck')
print('我是你的字典召唤')
dict_test={'apple':fuck}
print(dict_test['apple']())#直接执行函数
字典是按照键值对(key,value)的形式存在,没有索引
需要学习的方法-->增删改查
# 字典定义
dict1={}
dict2=dict()
# 增加字典里面的值
# 字典名[键名]=值名
dict1['user']={}
print(dict1)
#改值
dict1['user']={'admin','password'}
print(dict1)
# 删除pop弹出方法
value=dict1.pop('user')
print(value)
print(dict1)
#字典的合并 同时相应的同键值也会覆盖
dict2={'major':'atomation'}
dict1.update(dict2) #update 意思相同的键值也会被覆盖
print(dict1)
# 字典的遍历 遍历key而不是值
for k in dict1:
print(k)
# 字典的清空
dict1.clear()
print(dict1)
# 数量
length=len(dict1)
print(length)
[1] 参考链接:https://blog.csdn.net/qq_40994972/article/details/84189430
[2] 参考连接 :https://blog.csdn.net/gymaisyl/article/details/82355028
[3] 参考连接 python 字典与json的区别_u010569893的博客-CSDN博客_json和字典有什么区别