在Mathematica中"选择任何"

nes*_*983 2 wolfram-mathematica

mathematica是否有像"select any"这样的东西,它可以获得满足标准的列表中的任何元素?

Pil*_*lsy 7

如果您只想在第一个匹配元素后返回,请使用可选的第三个参数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类型.我的解决方案是拥有用户可指定的默认值,因此您可以确保传递的内容很容易与有效答案区分开来.