Мне часто нужно извлекать, чтобы ограничить списки значений подсписками, то есть, если vals
дает значения vars={x1,x2,x3,x4}
, и мне нужны значения svars={x2,x4}
, я делаю restrict[list,vars,svars]
где
restrict[vars_, svars_, vals_] :=
Extract[vals, Flatten[Position[vars, #] & /@ svars, 1]]
Я хотел бы улучшить читабельность кода, возможно, определив следующие пользовательские обозначения для restrict[vars,svars,vals]
(источник: yaroslavvb.com)
Мои вопросы
- Какой хороший способ реализовать это?
- Это хорошая идея в целом?