Python中哈希表与哈希函数的关系

2023-04-11 00:00:00 python 函数 关系

哈希表是一种数据结构,它的核心思想是将键映射到值。它通过使用哈希函数来计算每个键的索引位置。哈希函数是一个将任意大小的数据映射到固定大小值的函数。哈希表使用哈希函数来确定给定键的索引位置。

Python中哈希表和哈希函数都和字典有关。字典是Python中一种基础的数据结构,用于存储键-值对。Python中的字典使用哈希表实现,每个键都被哈希函数映射为其索引位置。

以下是一个使用字符串作为例子的Python代码演示:

hash_table = {}

# 哈希函数
def hash_func(key):
    hash_value = 0
    # 将每个字符的ASCII码相加
    for char in key:
        hash_value += ord(char)
    # 取余数作为索引位置
    return hash_value % len(hash_table)

# 插入键值对
hash_table[hash_func("pidancode.com")] = "Welcome to pidancode.com!"
hash_table[hash_func("皮蛋编程")] = "欢迎来到皮蛋编程!"

# 查询
print(hash_table[hash_func("pidancode.com")])  # 输出:Welcome to pidancode.com!
print(hash_table[hash_func("皮蛋编程")])  # 输出:欢迎来到皮蛋编程!

在上面的代码中,哈希函数将每个字符的ASCII码相加,然后取总和的余数作为键的索引位置。插入时,通过调用哈希函数获取键的索引位置,然后将键值对插入哈希表。查询时,同样需要调用哈希函数获取键的索引位置,然后从哈希表中取出对应的值。

相关文章