Редактировать: Я вижу из вашего комментария, что вы используете numy массивы. Я никогда не использовал numpy, поэтому понятия не имею, как они работают с сетами.
Одним из вариантов будет использование set
. Наборы похожи на списки , но они неупорядочены и позволяют добавлять каждый элемент только один раз:
>>> s = set()
>>> s.add(1)
>>> s.add(2)
>>> s.add(2)
>>> s.add(2)
>>> s
set([1, 2])
Однако у вас возникнут проблемы, если вы попытаетесь добавить list
в набор:
>>> s.add(['my','list'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
Элемент должен быть хэшируемым , чтобы добавить к set
, а list
не может быть хэшируемым, поскольку он не может иметь неизменного значения хеш-функции, поскольку его можно изменить в любое время с помощью добавление или удаление значений.
Если вам не нужны списки, которые вы проверяете на изменчивость, вы можете преобразовать их в кортежи, которые являются фиксированными и поэтому могут быть хэшируемыми и настолько удобными для установки:
>>> mylist = ['my','list']
>>> s = set()
>>> s.add(tuple(mylist))
>>> s.add(tuple(mylist))
>>> s
set([('my', 'list')])