本文引用自霍格沃兹测试开发学社录播课
经典面试题-json 和 dict 的区别
霍格沃兹测试开发学社
http://ceshiren.com
问题
面试官可能会问:json 和 dict 的区别是什么?
考察点分析
面试官主要的目的是想要了解:
- 接口测试的了解和使用程度
- python 数据结构的熟悉程度
技术点
这个问题涉及到的技术知识为:
- json 的结构和特点
- dict 的结构
- 常用数据类型
区别展示
# json示例
{
"school": "Hogwarts",
"course": ["Python", "Java", "测试平台"]
}
# dict 示例
info = {
"school": "Hogwarts",
"course": ("Python", "Java", "测试平台")
}
总结
面试官可能会问:json 和 dict 的区别是什么?
- JSON 是一种用于在系统应用之间进行数据传输的文本格式,而 Python 语言中的 dict 是一种内存中数据结构。
- 由于 JSON 内容是文本,因此在其中查找一个 key 的时间复杂度是 O(n),而 dict 使用哈希值,时间复杂度是 O(1),所以查找键的效率比 JSON 高效很多。
- JSON 的键仅支持字符串格式,必须是双引号包围。而 dict 的键支持任何可哈希的对象作为键,包括元组,自定义类等等
- JSON 的值的格式要求是有效的 JSON 类型,包括数组、对象、字符串、浮点数、布尔值和 null。而 dict 字典的值可以是 Python 中任何数据类型,包括整数、浮点数、字符串、布尔值、None、列表、元组、集合和字典。: