优草派  >   Python

Python元组可以作为字典键吗?为什么元组可以作为字典键

罗西汉            来源:优草派

python中元组是可以作为字典键的,在python的几个序列类型之中除了元组之外,其他的列表、集合都是不能够作为字典键的。但元组作为字典键存在也是有一定要求的,下面就来给大家讲解一下python元组为什么可以作为字典键,感兴趣的话就看看吧。

Python元组可以作为字典键吗?为什么元组可以作为字典键

元组要作为字典键存在的话里面只能够保存字符串和数字这种不是数据结构的元素,而元组作为字典键的关键又和字典的执行机制是有关联的。

字典对象在保存数据时是通过键值对形式存储的,而且一个键对应着一个值,它们二者之间是相互映射的关系。但是当字典键值对数量非常大的时候无论是存取数据速度都是比较慢的,那么为了解决这个问题python中字典就是采用了hash值表的方式来保存数据。

哈希值指的就是通过散列算法将数据转为全是整数的形式,这样能够有效的减小数据量并且提高查询时的速度。而python字典在保存数据时就是根据键值对构建出了对应的哈希值表,查询字典实际上是通过哈希值表找到对应的字典键。

而python元组能够作为字典键的原因就在于它也是可以转为hash值的,因为元组是不可变数据类型并且在创建之后内存中的id值也不会发生改变。

以上就是关于“Python元组可以作为字典键吗?为什么元组可以作为字典键”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。