python哈希散列的映射
- 更新时间:2021-07-30 10:02:19
- 编辑:王忆敏
我们帮大家精选了相关的编程文章,网友黎秀筠根据主题投稿了本篇教程内容,涉及到Python相关内容,已被803网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
参考资料
- Python从入门到精通 PDF 电子书 / 35.8 MB / 陈政强 推荐度:
- 流畅的Python PDF 电子书 / 26 MB / 卢西亚诺·拉马略 推荐度:
- Python数据可视化之matplotlib精进 PDF 电子书 / 104 MB / 刘大成 推荐度:
- 《Python金融大数据风控建模实战:基于机器学习》源码 配套资源 / 17.6 MB / 王青天 孔越 推荐度:
- 《基于ArcGIS的Python编程秘笈(第2版)》配套资源 配套资源 / 142.37 MB / [美]Eric Pimpler 派普勒 推荐度:
正文内容
无意中在网上看到《python哈希散列的映射》,觉得应该跟大家分享,把网友测试过的内容发布到这里,看完如果觉得有用请记得收藏。
1、散列的映射
Map()创建一个空映射,然后回到一个空映射集合。
在put(key,val)的映射中添加新的键值对。若键已存在,则用新值代替旧值。
get返回key对应的值。如果key不存在,返回none。
del通过del map[key]语句从映射中删除键-值对。
len()回到映射中存储的键-值对的数目。
当键存在时,in通过keyinmap等语句返回True,否则返回False。
2、实例
class Map(object): def __init__(self,size=11): self.size = size self.__slots = [None] * self.size self.__data = [None] * self.size def put(self, key, val): hashvalue = self.hashfunction(key, len(self.__slots)) if self.__slots[hashvalue] == None: self.__slots[hashvalue] = key self.__data[hashvalue] = val else: if self.__slots[hashvalue] == key: self.__data[hashvalue] = val else: nextslot = self.rehash(hashvalue, len(self.__slots)) while self.__slots[nextslot] != None and self.__slots[nextslot] != key: nextslot = self.rehash(nextslot, len(self.__slots)) if self.__slots[nextslot] == None: self.__slots[nextslot] = key self.__data[nextslot] = val else: self.__data[nextslot] = val def get(self, key): startslot = self.hashfunction(key, len(self.__slots)) data = None stop = False found = False position = startslot while self.__slots[position] != None and \ not found and not stop: if self.__slots[position] == key: found = True data = self.__data[position] else: position = self.rehash(position, len(self.__slots)) if position == startslot: stop = True return data def delete(self,key): pass def __getitem__(self, key): return self.get(key) def __setitem__(self, key, val): self.put(key, val) def __delitem__(self, key): self.delete(key) def len(self): pass def hashfunction(self, key, size): return key % size def rehash(self, oldhash, size): return (oldhash + 1) % size
以上就是python哈希散列的映射,希望对大家有所帮助。
相关教程
-
Python网络编程使用select实现socket全双工异步通信功能示例
这篇文章主要介绍了Python网络编程使用select实现socket全双工异步通信功能,简单说明了select模块的功能及socket全双工异步通信功能的相关实现技巧,需要的朋友可以参考下
发布时间:2019-08-26
-
Windows下安装python2和python3多版本教程
这篇文章主要介绍下Windows(我用的Win10)环境下的python2.x 和 python3.x 的安装,以及python2.x 与 python3.x 共存时的配置问题。
发布时间:2019-08-26