nes*_*983 2 wolfram-mathematica
mathematica是否有像"select any"这样的东西,它可以获得满足标准的列表中的任何元素?
如果您只想在第一个匹配元素后返回,请使用可选的第三个参数to Select,这是要返回的最大结果数.所以你可以做到
Any[list_List, crit_, default_:"no match"] :=
With[{maybeMatch = Select[list, crit, 1]},
If[maybeMatch =!= {},
First[maybeMatch],
default]
Run Code Online (Sandbox Code Playgroud)
Mathematica缺乏一种很好的方法来表示找不到答案的失败,因为它缺少多个返回值,或者相当于Haskell的Maybe类型.我的解决方案是拥有用户可指定的默认值,因此您可以确保传递的内容很容易与有效答案区分开来.