Назначьте 1 массив из списка в var и назначьте остальные массивы в списке в другой var - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть список из n ndarrays, и я хочу провести l oop через список, чтобы разделить их на 2 переменные, так чтобы массив ih был назначен «a», а остальные - для «b», так что b не содержит я. (Скажем, когда i = 0, он идет к a и отдыхает go, чтобы быть, теперь i = 1, он идет к отдыху, включая i = 0 и исключая i = 1 go до b)

#n=3
lis=[x,y,z] #where x,y,z are ndarrays
for i in lis:
a=i
b=lis.remove(i)

, что приводит к ошибке:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Итак, я попробовал следующее:

b=[ j for j in lis if not (j==i).all()]

Но это возвращает пустой список.

Я использовал itertools.permutations, но он дал вывод 4 массивов вместо всех перестановок.

На данный момент у меня нет идей. Я прошу направление, чтобы я мог заставить это работать. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 08 февраля 2020

У вас уже есть y, вы можете получить остальные, просто удалив y из lis.

Может быть, вы могли бы попробовать это:

for i in range(len(lis)): if np.array_equal(lis[i],y): del lis[i] break

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...