在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)
如果能帮助我,我将不胜感激。
答案 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