получить вхождения списка в массиве - python - PullRequest
0 голосов
/ 06 мая 2019
a = np.array([1,2,4,2,3,4,1])
s = [1,2]

Как я могу получить массив, который сообщает мне, существуют ли элементы в s в a?Вот что я надеюсь получить:

[True, True, False, True, False, False, True]

Ответы [ 3 ]

5 голосов
/ 06 мая 2019

Использование np.isin

>>> np.isin(a,s)

array([ True,  True, False,  True, False, False,  True])
0 голосов
/ 06 мая 2019

нет, вы можете сделать это следующим образом

a = [1,2,4,2,3,4,1]
s = [1,2]
t = list(map(lambda a: a in s, a))

, если s больше, set более эффективно

 a = [1,2,4,2,3,4,1]
 s = set([1,2])
 t = list(map(lambda a: a in s, a))
0 голосов
/ 06 мая 2019
import numpy as np

a = np.array([1, 2, 4, 2, 3, 4, 1])
s = [1, 2]
r = [n in s for n in a]
print(r)  # [True, True, False, True, False, False, True]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...