相对较新的Mathematica,所以这可能是一个简单的问题。有两个列表我需要按其中一个列表排序,而忽略任何非数字值
示例:
x={a, b, c, d, e, f, g};
y={-2, Indeterminate, -3, -Infinity, -1, Apples, 5};
(还有z =分区[Riffle [x,y],2],如果这样做更好一点)
寻找结果:
xn={g, e, a, c}
yn={5, -1, -2, -3}
(或zn相当于使用z)
答案 0 :(得分:3)
这是一种方式:
Transpose@Reverse@SortBy[Cases[Transpose[{y, x}], {_?NumericQ, _}], First]
返回
{{5,-1,-2,-3},{g,e,a,c}}