Python-在字典中使用numpy数组作为键的替代方法

我是Python

numpy的新手。我试图在我的一个函数中使用numpy数组作为字典中的键,然后Python解释器告诉我numpy数组不可哈希。我刚刚发现,解决此问题的一种方法是使用repr()函数将numpy数组转换为字符串,但这似乎非常昂贵。有没有更好的方法可以达到相同的效果?

更新:我可以创建一个新类来包含numpy数组,这似乎是实现我想要的正确方法。只想知道是否有更好的方法?

更新2:使用一个类来包含数组中的数据,然后重写__hash__函数是可以接受的,但是,我更喜欢@hpaulj提供的解决方案。将其转换array/listtuple适合我的需求的更好方法,因为它不需要其他类。

回答:

经过一些研究并阅读了所有评论。我想我已经知道自己问题的答案,所以我只把它们写下来。

  1. 写一个类包含的数据array,然后覆盖__hash__函数修改它是如何的方式 由提到ZdaR
  2. 这个转换arraytuple,这使得该列表 instantaneously.Thanks到hpaulj

我更喜欢No.2方法,因为它更适合我,而且更简单。但是,使用类可能会带来一些其他好处,因此它也很有用。

以上是 Python-在字典中使用numpy数组作为键的替代方法 的全部内容, 来源链接: utcz.com/qa/403471.html

回到顶部