如何检查项目是否在列表中?

时间:2019-03-05 08:22:52

标签: list search find scilab

在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 :(得分:1)

在Scilab中,列表是异构容器,这会阻止等号运算符==具有与矩阵相同的行为。但是,可以使用list2vec在某种意义上将具有同类类型的对象列表转换为向量,从而可以执行您想做的事情。

答案 1 :(得分:1)

您想做这样的事情吗?

--> 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