Как проверить, есть ли элемент в списке? - PullRequest
0 голосов
/ 05 марта 2019

В списках Python есть хороший оператор in или метод __contains__, который можно использовать для проверки, есть ли переменная в списке или нет.Например,

3 in [1, 2, 3, 4] # returns True

и

5 in [1, 2, 3, 4] # returns False

Для матриц есть функция find, которая возвращает индексную матрицу, если переменная существует, или пустую матрицу, если ее нет:

M = [1, 2, 3, 4]
isempty(find(M == 3)) // returns %f
isempty(find(M == 5)) // returns %t

Но я не знаю, как проверить, есть ли переменная в списке или нет:

L = list(1, 2, 3, 4)

Буду признателен, если вы поможете мне с этим.

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Вы хотите сделать такую ​​вещь?

--> x(1).name='john';x(2).age=19;x(2).flag=%t;

--> x(2).name='paul';x(2).age=18;x(3).flag=%f;

--> list2vec(x.name)
 ans  =

!john  !
!      !
!paul  !


--> list2vec(x.age)
 ans  =

   19.
   18.

--> list2vec(x.flag)
 ans  =

  T
  T
  F
0 голосов
/ 22 марта 2019

В списках Scilab есть гетерогенные контейнеры, и это не позволяет оператору равенства == вести себя так же, как для матриц.Однако списки объектов с однородными типами могут быть преобразованы в векторы в некотором смысле с помощью list2vec, что позволяет делать то, что вы хотите делать.

...