区别1:用法上的区别


列表具有异构有序的特点

字典具有异构无序的特点


列表通过下标索引获取值

字典通过键值对的键key来获取值


列表中可以存在相同的元素

字典中每个键都是唯一的


区别2:两个容器底层的存储方式


列表的底层实现是动态数组,按照元素的顺序存储在连续的内存空间中

字典的底层实现是哈希表,根据键的哈希值将键-值对分散存储在不连续的内存空间中,

这意味着,列表的访问和修改操作的时间复杂度是O(1)

而字典的常规操作时间复杂度是O(1),最坏的情况下是O(n),也就是需要遍历整个字典的key