Проблема здесь в том, что при сравнении двух числовых массивов с ==, как в методах remove () и index (), возвращается массив пустых значений (сравнения по элементам), который интерпретируется как неоднозначный. Хороший способ сравнить два numpy-массива на равенство - использовать функцию array_equal () numpy.
Поскольку метод списков remove () не имеет ключевого аргумента (как у sort ()), я думаю, что для этого вам нужно создать собственную функцию. Вот что я сделал:
def removearray(L,arr):
ind = 0
size = len(L)
while ind != size and not np.array_equal(L[ind],arr):
ind += 1
if ind != size:
L.pop(ind)
else:
raise ValueError('array not found in list.')
Если вам нужно, чтобы это было быстрее, вы можете Cython-ize.