我们如何使用条件或模式测试来使我们的函数接受除列表之外的任何符号作为输入?
最佳答案
使用 Except
:
f[x : Except[_List]] := doSomethingTo[x]
expr /. x : Except[_List] :> doSomethingElseTo[x]
您可以将其与 Alternatives
结合使用(中缀运算符|
)排除几件事:
g[x : Except[_List | _Rational]] := etc[x]
编辑:也整合评论中的答案:
ListQ[expr]
将返回 True
如果 expr
是一个列表(具有头部 List
)并且 False
否则。 MatchQ[expr, _List]
和 Head[expr]===List
是完成相同事情的等效方法。
关于wolfram-mathematica - 需要帮助避免条件或模式测试中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520265/