怎么对一串数字进行条件匹配?
1、先给定一个随机的数字列表:
a=Table[RandomInteger[{-10,10}],10]

2、把a里面的正数替换为1:
b=a/.x_/;x>0->1

3、再把数字里面的负数匹配为0:
c=b/.x_/;x<0->0

4、这样,只要c里面元素相加,就可以知道a里面有多少个正数。
c//Total

5、((a/.x_/;x>0->0)/.x_/;x<0->1)//Total
运行结果是3,所以a里面有3个负数。

6、把a里面的奇数替换为1,再把偶数替换为0:
d=a/.x_/;OddQ[x]->1
e=d/.x_/;EvenQ[x]->0

7、而奇偶替换,还可以使用mod实现:
f=Mod[#,2]&/@a

8、a=Table[RandomReal[{-10,10}],100];d=a/.x_/;x<0->0;e=d/.x_/;x>0->1;Print["a里面有",e//Total,"个正数。"]
运行结果是:
a里面有55个正数。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:22
阅读量:119
阅读量:96
阅读量:134
阅读量:188