gpt4 book ai didi

python - 如何使用 NumPy 数组实现字典?

转载 作者:行者123 更新时间:2023-12-04 17:57:35 24 4
gpt4 key购买 nike

我需要将大量数字-数字对写入 NumPy 数组。由于很多这些对的第二个值为 0,我想做一些类似于字典的东西。问题是我已经通读了有关结构化数组的 NumPy 文档,看起来像页面上那样构建的字典只能使用字符串作为键。

除此之外,我需要插入和搜索具有 log(N) 复杂度。我考虑过使用常规 NumPy 数组作为存储来制作我自己的红黑树结构,但我相当确定有一种更简单的方法来实现这一点。

语言是 Python 2.7.12。

最佳答案

字典的最基本形式是一种称为HashMap 的结构。实现 HashMap 依赖于将您的键转换为可以快速查找的值。一个病态的例子是使用 int 作为键:键 1 的值将进入 array[1],键 的值code>2 会进入 array[2],Hash Function 就是身份函数。您可以使用 numpy 数组轻松实现它。

如果您想使用其他类型,只需编写一个好的散列函数,将这些键转换为数组中的唯一 索引即可。例如,如果您知道您有一个 (int, int) 元组,并且第一个值永远不会超过 100,您可以执行 100*key[1] + key [0].

哈希函数的实现决定了字典替换的成败。

关于python - 如何使用 NumPy 数组实现字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38921975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com