在最大值列表中查找最大值和索引?

Find maximum value and index in a Maxima list?

我有一个最大值列表,例如:

x:[1,3,7,98,211,3,2.44,23]

我需要找到列表的最大值以及最大值所在的位置。

我唯一想到的就是将列表重写为序列并应用 'max' 命令

max(first(x),second(x),...,last(x))

但是效率不高,不知道取到最大值的索引。

有人可以帮我吗?

lmax returns 列表的最大值。给定 x 是一个列表,那么

 lmax(x)

returns最大值x.

获取最大值的索引有点复杂。最相关的内置函数(除非我忘记了什么——可能会发生)是 sublist_indices,它 returns 满足谓词的元素的索引。谓词是一个变量的函数,returns 真或假。继续这个例子,`

sublist_indices(x, lambda([x1], x1 = lmax(x)))

returns x 的元素取最大值的一个或多个索引。