经典面试题-json和dict的区别

本文引用自霍格沃兹测试开发学社录播课

经典面试题-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 的区别是什么?

  1. JSON 是一种用于在系统应用之间进行数据传输的文本格式,而 Python 语言中的 dict 是一种内存中数据结构。
  2. 由于 JSON 内容是文本,因此在其中查找一个 key 的时间复杂度是 O(n),而 dict 使用哈希值,时间复杂度是 O(1),所以查找键的效率比 JSON 高效很多。
  3. JSON 的键仅支持字符串格式,必须是双引号包围。而 dict 的键支持任何可哈希的对象作为键,包括元组,自定义类等等
  4. JSON 的值的格式要求是有效的 JSON 类型,包括数组、对象、字符串、浮点数、布尔值和 null。而 dict 字典的值可以是 Python 中任何数据类型,包括整数、浮点数、字符串、布尔值、None、列表、元组、集合和字典。: