在2d列表上同时使用“equals”和“not equals”的Count函数

时间:2012-11-25 09:11:36

标签: wolfram-mathematica

在如下所示的二维列表中,有没有办法,使用Count函数计算第一列等于1,第二列等于2而第三列不等于3的所有行?

我尝试了Count [Data,{1,2,_?(#!= 3&)}] ​​- 但它不起作用:(。我使用模式做错了吗?

1 2 3

2 2 3

1 1 1

1 2 1

1 3 2

3 3 3

3 2 1

1 2 2

非常感谢, 米

2 个答案:

答案 0 :(得分:3)

是的,我认为你的模式很糟糕。尝试

Count[data, {1, 2, x_ /; x != 3}]

答案 1 :(得分:1)

原始版本运行正常! (尽管使用小写变量名称,即'数据'是更好的形式。)

Data = {{1, 2, 3}, {1, 2, 4}, {1, 4, 3}, {1, 2, 5}};

Count[Data, {1, 2, _?(# != 3 &)}]
  

2

您也可以使用Except

Count[Data, {1, 2, Except[3]}]
  

2