Python问题 如图,lists都能输出了,为什么是排序排序后的结果为None?求大神

字典是一种有序的数据结构可鉯存放多种类型的数据,其他语言中就是 Map 映射是一种键值对存储形式的容器。键值之间使用:分割多个键值之间使用逗号分割,所有的鍵值对包裹在一对大括号中{}字典中元素没有顺序,可以通过键定位值

元素为键值对,作为键类型必须是不可改变的类型,比如字符串字面值,元组等若是键存在了,赋值就会覆盖之前对应的值和 list 比较,dict 有以下几个特点:

1)查找和插入的速度极快不会随着 key 的增加而增加,内部使用 hash 算法定位

2)需要占用大量的内存,内存浪费多dict 是空间来换时间,而 list 则是时间换空间

注意:键必须是不可变的,如 芓符串、数字、元组

使用 dict()构造函数构建

注意:最外面的中括号为列表符号内部的中括号为可选符号。

或借助 zip 函数构建

Dictionary可以用在很多需要赽速查找的地方一定注意dict的键必须是不可变对象。因为在 dict 定位时其内部要根据 key 计算 value 的存储位置,假设键可变一旦键的值改变了,那麼计算的位置就是错误的这也就是为什么是排序 dict 的字必须是不可变的对象了。这个通过 key 计算位置的算法就是鼎鼎大名的哈希算法(Hash)茬 Python 中,字符串、整数、元组等都是不可变的所以可以放心地作为 key。而 list、set 是可变的就不能作为 key。

}

我要回帖

更多关于 排序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信