python实现哈希表

yipeiwu_com5年前Python基础

复制代码 代码如下:

#! /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编程实现粒子群算法(PSO)详解

Python编程实现粒子群算法(PSO)详解

1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的。假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道...

Python常用模块用法分析

本文较为详细的讲述了Python中常用的模块,分享给大家便于大家查阅参考之用。具体如下: 1.内置模块(不用import就可以直接使用) 常用内置函数: help(obj) 在线帮助,...

Python标准库之随机数 (math包、random包)介绍

我们已经在Python运算中看到Python最基本的数学运算功能。此外,math包补充了更多的函数。当然,如果想要更加高级的数学功能,可以考虑选择标准库之外的numpy和scipy项目,...

python基础教程之字典操作详解

字典dictionary 1.键值对的集合(map) 2.字典是以大括号“{}”包围的数据集合 3.字典是无序的,在字典中通过键来访问成员。 可变的,可嵌套,可以原处修改扩展等,不产生新...

Python运行报错UnicodeDecodeError的解决方法

Python2.7在Windows上有一个bug,运行报错: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in...