Как проверить, находится ли массив в другом массиве в Python - PullRequest
0 голосов
/ 10 июня 2018

Я думал, что in было бы хорошо для этого, но он возвращает истину в тех местах, где это не должноНапример:

import numpy as np

a = np.array([])

for i in range(3):
    for j in range(3):
        a = np.append(a,[i,j])
a = np.reshape(a,(9,2))
print(a)

print([[0,40]] in a)

напечатает true.Я не могу понять, почему он это делает ... это потому, что 0 в списке?Я хотел бы иметь что-то, что печатает только true, если весь массив находится в списке.

Я хочу иметь свой список

[[0,1],
[0,2]]

и возвращать true только если точно [0,x](та же форма, тот же порядок) в нем.

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Этот код может вам помочь:

my_list = [0, 40]
print(all(b in a for b in my_list))
0 голосов
/ 10 июня 2018

Вы можете сделать это следующим образом:

([0, 40] == a).all(1).any()

Первым шагом является вычисление двумерного логического массива, в котором находятся совпадения.Затем вы найдете строки, в которых все элементы истинны.Затем вы проверяете, совпадают ли какие-либо строки.

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