成员运算符

成员运算符用于判断提供的值是否在或不在指定的数组中,如果在,返回True,否则返回False。[大谦MATLAB,dqmatlab点com]

【MATLAB】

MATLAB中使用ismember函数判断给定的值是否在指定数组中存在。下面判断a变量的值在数组b中是否存在。

在命令窗口输入:

code.matlab
>> a=1;
>> b=[1 2 3];
>> [c,d]=ismember(a,b)  %成员判断
c=
  logical
   1
d=
     1

ismember函数的返回值中,c表示a在b中是否存在,值等于1表示存在;d表示a在b中存在的位置,值为1表示第1个元素的位置。

对于数据类型为字符数组的情况,在命令窗口输入:

code.matlab
>> a='ab';
>> b='abcde';
>> ismember(a,b)
ans =
  1×2 logical 数组
   1   1

字符“a”和“b”在变量b中都存在。关于字符数组和字符串的更多内容,参见第5章。

如果变量a和b都是字符串:

code.matlab
>> a="ab";
>> b="abcdef";
>> ismember(a,b)
ans =
  logical
   0

返回0,说明不存在。数据类型为字符串时,a变量和b变量中的字符是作为一个整体参与计算的。

如果b是一个数组:

code.matlab
>> b=["ab" "abcdef" "AB"];
>> ismember(a,b)
ans =
  logical
   1

字符串a在数组b中存在。

【Python】

Python中常见的成员运算符有in和not in,如表3-8所示。

表3-8 成员运算符

运算符号 说 明
in 如果提供的值在指定序列中,返回True,否则返回False
not in 如果提供的值不在指定序列中,返回True,否则返回False

下面使用成员运算符判断对象之间的包含关系。

code.python
>>> 1 in [1,2,3]  #列表中是否包含数字1
True
>>> 'abc' in 'wofabcmn'  #后面的字符串中是否包含'abc'
True