Сортировка двух списков, игнорируя любые нечисловые значения? - PullRequest
1 голос
/ 29 марта 2012

Относительно новичок в Mathematica, так что это может быть простой вопрос. С двумя списками мне нужно отсортировать оба по одному из них, игнорируя при этом любые нечисловые значения

Пример:

x={a, b, c, d, e, f, g};
y={-2, Indeterminate, -3, -Infinity, -1, Apples, 5};

(Также есть z = Partition [Riffle [x, y], 2], если с этим немного лучше работать)

Результат поиска:

xn={g, e, a, c}
yn={5, -1, -2, -3}

(или zn эквивалент использования z)

1 Ответ

3 голосов
/ 29 марта 2012

Вот один способ:

Transpose@Reverse@SortBy[Cases[Transpose[{y, x}], {_?NumericQ, _}], First]

, который возвращает

{{5, -1, -2, -3}, {g, e, a, c}}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...