json和python中字典的区别和联系_Python 中json与字典的关系

Python开发中字典和 json的概念区别:

json.dumps( dict )    字典变为字符

json.loads( jsoninput )    字符变为字典

一、字典

字典是一种数据结构,而json是一种数据格式,格式就会有一些形式上的限制,比如json的格式要求必须且只能使用双引号作为key或者值的边界符号(值如果是数字可以不用加双引号),不能使用单引号,用单引号或者不用引号会导致读取数据错误,而且“key”必须使用边界符(双引号),但字典就无所谓了,可以使用单引号,也可以使用双引号。

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

二、json

json是JavaScript Object Notation的首字母缩写,字面的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式, 前端使用ajax的时候后台返回该前端的数据格式就是json格式的。

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

三、json和dict区别对比

json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type);

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

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

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

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

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

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

json:true、false、null

python:True、False、None

json中文必须是unicode编码,如"\u6211".

json的类型是字符串,字典的类型是字典。

四、hashtable

一个对象当其声明周期内的hash值不发生改变,而且可以跟其他对象进行比较时,这个对象就是hashtable的。

1、python中的基本类型都是Hashtable,如str、bytes、数字类型、tuple等;

2、用户自定义的类型默认都是hashtable,因为它们的hash值就是id()值;

3、frozenset始终都是hashtable的,因为它们所有的项目都是被定义成hashtable的;

4、只有当tuple内的所有项都是hashtable的时候,tuple才是hashtable;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows核心编程学习笔记(八)结构化异常处理(Structured Exception Handling)

首先要要知道,结构化异常处理(SEH)和C提供的异常处理不相同。一.Termination HandlersTermination Handlers使用很简单。在想使用SEH处理的地方使用__try{/* [__leave;] */}__finally{/* [AbnormalTermination] */}即可。SEH保证,无论__try中的代码怎样退…

本地唯一985,要去省会了!

源 | 软科(ID:zuihaodaxue)综合整理自福州市人民政府、各高校官网福州将迎来第三所985高校!11月22日,福州市长吴贤德会见厦门大学党委书记张荣一行并座谈,双方就进一步加强校地合作进行深入交流。会上&…

LeetCode 1411. 给 N x 3 网格图涂色的方案数(数学)

1. 题目 你有一个 n x 3 的网格图 grid ,你需要用 红,黄,绿 三种颜色之一给每一个格子上色,且确保相邻格子颜色不同(也就是有相同水平边或者垂直边的格子颜色不同)。 给你网格图的行数 n 。 请你返回给 …

元宇宙这么能赚?平均月薪近4万!

自2021年元宇宙元年之后,大批元宇宙相关岗位涌现在市场。近日,某网站发布《2022元宇宙行业人才发展报告》。2022年1-7月元宇宙相关招聘岗位同比增长16.6%,元宇宙相关岗位的平均招聘月薪18515元,深度学习岗平均月薪39971元&#xf…

sql两个时间之间的小时差_2年级学生每天上学路上有两个小时车程,该如何利用好这个时间?-知乎亲子热点快报/2020/09/04...

为了享受到更好的教育资源,许多家长会选择让孩子入读离家较远的学校,与此同时路上耗费的大量时间也让家长烦恼不已。既不想让孩子劳累过度,也不愿时间被白白浪费。你家孩子在上学路上常常会做些什么?你有什么好的建议呢&#xff1…

LeetCode 1379. 找出克隆二叉树中的相同节点(二叉树遍历)

1. 题目 给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。 其中,克隆树 cloned 是原始树 original 的一个 副本 。 请找出在树 cloned 中,与 target 相同 的节点&#xff0…

Oracle定时器(Job)各时间段写法汇总

原作者:博客园一条辉 原文:链接 对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。但是&#x…

websocket 带头部信息请求 header_关于websocket跨域的一个奇怪问题

最近在建设 websocket 长连接网关,过程中遇到一件比较奇怪的事情,做下简单的记录。需求十分的简单,websocket 网关在做权限校验的时候期望复用现有登录逻辑的 jwt-token。如下图所示,sso 与 websocket 网关属于不同的二级域名&…

Hinton 最新研究:神经网络的未来是前向-前向算法

文|李梅、黄楠编|陈彩娴源|AI科技评论在未来万亿参数网络只消耗几瓦特的新型硬件上,FF 是最优算法。过去十年,深度学习取得了惊人的胜利,用大量参数和数据做随机梯度下降的方法已经被证明是有效的。而梯度下…

LeetCode 355. 设计推特(哈希map+set)

1. 题目 设计一个简化版的推特(Twitter),可以让用户实现发送推文,关注/取消关注其他用户,能够看见关注人(包括自己)的最近十条推文。你的设计需要支持以下的几个功能: postTweet(userId, tweetId): 创建一…

写出一段代码将链表中的两个节点位置互换位置_面试 leetcode 算法专题系列(二)—— 链表...

前言:只照着常考题去刷题确实是一种方法。但调研之后发现自己还是考虑不周,刷题刷的不应该是题,而是解题的思路和熟练程度。于是我决定重新组织一下刷题笔记的讲解顺序,不再以面试常考题来刷。而是以面试出题频率,方法…

感人至深的文章

http://bbs2.news.163.com/bbs/baoliao/75948727.html 转载于:https://www.cnblogs.com/shf/archive/2008/05/12/1192975.html

2022年度最佳开源软件榜单出炉!

源| OSC开源社区(ID:oschina2013)InfoWorld 公布了 2022 年最佳开源软件榜单。InfoWorld 是致力于引领 IT 决策者走在科技前沿的国际科技媒体品牌,每年 InfoWorld 都会根据软件对开源界的贡献,以及在业界的影响力评选出…

程序员面试金典 - 面试题 16.13. 平分正方形(数学)

1. 题目 给定两个正方形及一个二维平面。请找出将这两个正方形分割成两半的一条直线。 假设正方形顶边和底边与 x 轴平行。 每个正方形的数据square包含3个数值,正方形的左下顶点坐标[X,Y] [square[0],square[1]],以及正方形的边长square[2]。 所求直…

吵翻了!确认录取后导师和学生“互放鸽子”,网友:线上选拔太混乱

源 | 募格学术参考 | 中国科学报、科学网博客、知乎等导师和学生互相“放鸽子”是种怎样的体验?近日,《中国科学报》的一篇文章揭露了疫情下线上推免选拔的乱象。因为某些原因,产生了一些所谓“海王院校”(指在夏令营或预推免中&a…

监控和剖析数据库操作P6Spy,SQL Profiler,SQL 使用简介

新一篇: 关于java类的动态装载 几乎 80% - 85% 的数据库性能问题是由于应用数据库的设计或者应用程序本身的代码所引起的。因此良好的事务处理能力需要在设计应用程序的时候,在设计数据库的时候就考虑到性能和伸缩性。 ---- DB2 Magazine 在我们 Java 开发应用程序的…

python新手练习项目_适合Python 新手的5大练手项目,你练了么?

已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去【项目】阶段了。 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两点建议: 最好不要写太应…

LeetCode 866. 回文素数(除11外,偶数位的回文数都不是质数)

1. 题目 求出大于或等于 N 的最小回文素数。 回顾一下,如果一个数大于 1,且其因数只有 1 和它自身,那么这个数是素数。 例如,2,3,5,7,11 以及 13 是素数。 回顾一下,…

首个在ImageNet上精度超过80%的二值神经网络BNext问世,-1与+1的五年辛路历程

源 | 机器之心两年前,当 MeliusNet 问世时,机器之心曾发表过一篇技术文章《第一次胜过 MobileNet 的二值神经网络,-1 与 1 的三年艰苦跋涉》,回顾了 BNN 的发展历程。彼时,依靠早期 BNN 工作 XNOR-Net 起家的 XNOR.AI…

中countif函数_countif与countifs:单条件与多条件计数适用场景

countif()的语法图丑~~图丑~~见谅~~Countif函数:对指定区域中符合指定条件的单元格计数。该函数的语法规则如下:countif(range,criteria)参数:range 要计算其中非空单元格数目的区域参数:criteria 以数字、表达式或文本形式定义的…