python实现哈希表

 更新时间:2014年02月07日 10:20:57   作者:  
介绍一个用python实现的哈希表,处理冲突的方法是开放地址法,冲突表达式为Hi=(H(key)+1)mod m,m为表长。迟点再实现更难的拉链法

复制代码 代码如下:

#! /usr/bin/env python
#coding=utf-8
#实现哈希表(线性地址再散列)

def ChangeKey(key,m,di):
    key01=(key+di) % m
    return key01

a=raw_input("Please entry the numbers:\n").split()
m=len(a)
dict01={}
for i in a:
    key=int(i)%m
    if "%s"%key in dict01:
        NewKey=ChangeKey(key,m,1)
        while "%s"%NewKey in dict01:         #因为下面的dict01的key值是以字符串来保存,因此这里作判断时也要用字符串格式
            NewKey=ChangeKey(NewKey,m,1)
        dict01["%s"%NewKey]=int(i)
    else:
        dict01["%s"%key]=int(i)
print dict01

相关文章

  • 利用python实现全屏爱心雨向喜欢的人表白

    利用python实现全屏爱心雨向喜欢的人表白

    马上520了,教大家用Python做一个下爱心雨的特效,这篇文章主要给大家介绍了关于利用python实现全屏爱心雨向喜欢的人表白的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Python中Pandas库提供的函数pd.DataFrame的基本用法

    Python中Pandas库提供的函数pd.DataFrame的基本用法

    pandas库中的pd.DataFrame()函数用于创建一个DataFrame对象,它是一个二维表格数据结构,每列可以是不同的数据类型(数值、字符串、布尔值等),下面这篇文章主要给大家介绍了关于Python中Pandas库提供的函数pd.DataFrame的基本用法,需要的朋友可以参考下
    2024-03-03
  • Python如何测试stdout输出

    Python如何测试stdout输出

    这篇文章主要介绍了Python如何测试stdout输出,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-08-08
  • python生产环境禁用assert断言的方法

    python生产环境禁用assert断言的方法

    断言就是世界结果与期望结果去对比,符合预期的测试就是pass,不符合预期的测试就是failed,下面这篇文章主要给大家介绍了关于python生产环境禁用assert断言的相关资料,需要的朋友可以参考下
    2022-06-06
  • 在python中的socket模块使用代理实例

    在python中的socket模块使用代理实例

    这篇文章主要介绍了在python中的socket模块使用代理实例,调用socks.setdefaultproxy即可实现,需要的朋友可以参考下
    2014-05-05
  • centos 自动运行python脚本和配置 Python 定时任务

    centos 自动运行python脚本和配置 Python 定时任务

    这篇文章主要介绍了centos 自动运行python脚本和配置 Python 定时任务,文章内容介绍详细,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • 浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)

    浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)

    今天小编就为大家分享一篇浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • python列表的特点分析

    python列表的特点分析

    在本篇文章里小编个大家整理的是一篇关于python列表的特点分析内容总结,有需要的朋友们可以学习下。
    2021-08-08
  • Python FastAPI返回不带双引号的字符串问题

    Python FastAPI返回不带双引号的字符串问题

    这篇文章主要介绍了Python FastAPI返回不带双引号的字符串问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 在Python中使用正则表达式的方法

    在Python中使用正则表达式的方法

    这篇文章主要介绍了在Python中使用正则表达式的方法,讲到了专门对正则表达式提供支持的扩展库re,需要的朋友可以参考下
    2015-08-08

最新评论