根据索引列表从最大值列表中选择多个值

Choosing multiple values from a Maxima list based on a list of indices

假设我有一个 Maxima 索引列表,比如 indexlist = [1,3,5], 和值列表,例如 valuelist = [1,2,3,4,5]。根据 indexlist 中的索引在一行中选择 valuelist 的元素的语法是什么?我试过了

values : valuelist[indexlist]; /*Should return [1,3,5]*/

这显然不起作用,因为我正在向选择运算符 [] 提供一个列表,它需要一个非负整数。

没有内置语法。我常用的成语是:

somevals : makelist (valuelist[i], i, indexlist);

注意values是一个内置的全局变量;它是已分配值的符号列表。参见 ? values,也许还有 ? infolists