Mathematicaでは、ルールやリストを含むパターンを見つけるにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1524886

質問

例:

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}}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top