1.什么是有序?
这里的有序不是指遍历dict是键值有序,而是遍历顺序就是插入顺序,所以这个有序只是对dict初始化时为空,一个个插入的情况有效。
2.如何实现?
3.6之前dict的底层结构就是一个二维数组,而3.6之后改用了二维数组加一维数组来实现,首先如果我们要插入dict[1] = 2,hash(1) = 1,这时候一维数组array1[1] = 0,而二维数组array2[0] = 插入的信息,如果我们要找dict[1]的时候,hash(1) = 1,然后先到array1找到array1[1] = a,然后再到二维数组array2[a] = b,b就是我们要的结果,其实就是用空间换时间的做法。