我对Python的numpy相当新。在我的一个函数中,我尝试将numpy数组用作字典的键,并被Python解释器告知numpy数组不可哈希。我刚刚发现解决这个问题的一种方法是使用repr()
函数将numpy数组转换为字符串,但这似乎非常昂贵。有没有更好的方法来实现相同的效果?
更新:我可以创建一个新的类来容纳numpy数组,这似乎是我想要实现的正确方法。只是想知道是否有更好的方法。
更新2:使用一个类来容纳数组中的数据,然后覆盖__hash__
函数是可接受的,然而,我更喜欢@hpaulj提供的解决方案。将array/list
转换为tuple
更适合我的需求,因为它不需要额外的类。
tuple(A.tolist())
。对于一维数组,这种转换很简单。 - hpaulj