Хеширование Python «кортежного» массива numpyPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Хеширование Python «кортежного» массива numpy

Сообщение Гость »

У меня есть класс MyClass, каждый экземпляр которого хранит координаты x и y пикселей, представленные в виде двух одномерных массивов чисел (одинаковой длины). Два экземпляра считаются равными, если их массивы координат идентичны (включая nan).

Я попробовал два метода хеширования: один путем приведения обоих массивов к кортежам и их хеширования, а другой путем вызов метода tobytes() для каждого массива:

Код: Выделить всё

class MyClass:
# ... init, doA(), doB(), etc. ...
def __eq__(self, other):
if not type(self) == type(other):
return False
if not np.array_equal(self._x, other._x, equal_nan=True):
return False
if not np.array_equal(self._y, other._y, equal_nan=True):
return False
return True

def hash1(self):
return hash((tuple(self._x), tuple(self._y)))

def hash2(self):
return hash((self._x.tobytes(), self._y.tobytes()))
Вызов hash1 в одном и том же экземпляре дает разные хеши, а вызов hash2 каждый раз выводит одно и то же. Почему они ведут себя так по-разному?

Подробнее здесь: https://stackoverflow.com/questions/781 ... umpy-array
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вычитание матрицы numpy, индексированной на основе условий из массива numpy, и присвоение другой матрице numpy с теми же
    Anonymous » » в форуме Python
    0 Ответы
    79 Просмотры
    Последнее сообщение Anonymous
  • Хеширование паролей Django отличается от библиотеки Python passlib pbkdf2
    Anonymous » » в форуме Python
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Чтение и хеширование файла из SMB с помощью Python
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Хеширование SHA-1 в Python
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Хеширование пароля с солью и получение разных хешей и разных солей в любое время.
    Гость » » в форуме Python
    0 Ответы
    43 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»