Mathematicaでは、ルールやリストを含むパターンを見つけるにはどうすればよいですか?
-
19-09-2019 - |
質問
例:
test = {"a" -> {{1}, 12}, "b" -> {13}}
このパターンでリスト内のすべての表現を見つけたいです:
_ -> {_,_}
最初の要素「A」 - > {{1}、12}は、このパターンで表されます。
ただし、これらの表現はどれも機能しません。
Cases[test,_->{_,_}], Cases[test,_->_], Cases[test,Rule[_,_]], etc.
どんなアドバイスも感謝しています。
解決
あなたが探しているのはです HoldPattern
:
In[1]:= test = {"a" -> {{1}, 12}, "b" -> {13}};
In[2]:= Cases[test, HoldPattern[_ -> {_, _}]] // InputForm
Out[2]= {"a" -> {{1}, 12}}
編集: これは、名前のパターン変数でも動作します。
In[3]:= Cases[test, HoldPattern[_ -> {x_, _}] :> x]
Out[3]= {{1}}
所属していません StackOverflow