我在 Mathematica 中有一大堆规则,但我想选择符合特定条件的项目。尽管我一直在尝试使用 Select 和 Take 命令,但我一直无法获得所需的输出。
示例:假设我想从列表中选择 A->1.2 的项目。
list={{A->1,B->2.1,C->5.2},{A->1.1,B->2.6,C->5.5},{A->1.2,B->2.7,C->5.7},{A->1.3,B->2.9,C->6.1}};
所需的输出将是
{A->1.2,B->2.7,C->5.7}
我知道可以根据项目的值(value)从列表中选择项目。但是我如何从规则列表中做到这一点?
谢谢
编辑:显然,案例可以解决问题:
案例[列表,{A-> # | A-> 合理化[#],
规则[_, _] ..}] &/@ {1.2}
这也搜索有理和非有理形式的数字,这是我发现的另一个问题。
最佳答案
一种可能性是使用 Select
例如
Select[mylist, MemberQ[#, A -> 1] &]
给
(* {{A -> 1, B -> 2.1, C -> 5.2}}*)
其他例子;
Select[mylist, MemberQ[#, A -> 1.1 | 1.2] &]
Select[mylist,
MemberQ[#, A -> 1.1 | 1.2 | 1.3] && FreeQ[#, C -> 6.1] &]
关于list - 从mathematica列表中选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10482903/