我有一个 maxima 列表,例如:
x:[1,3,7,98,211,3,2.44,23]
Run Code Online (Sandbox Code Playgroud)
我需要找到列表的最大值以及最大值位于哪个位置。
我唯一想到的是将列表重写为序列并应用“max”命令
max(first(x),second(x),...,last(x))
Run Code Online (Sandbox Code Playgroud)
但效率不高,而且我不知道得到最大值的索引。
有谁能够帮助我?
lmax返回列表的最大值。给定x一个列表,那么
lmax(x)
Run Code Online (Sandbox Code Playgroud)
返回 的最大值x。
获取最大值的索引有点复杂。最相关的内置函数(除非我忘记了某些事情——可能会发生)是sublist_indices,它返回满足谓词的元素的索引。谓词是一个返回 true 或 false 的变量的函数。继续这个例子,`
sublist_indices(x, lambda([x1], x1 = lmax(x)))
Run Code Online (Sandbox Code Playgroud)
返回 的元素x取最大值的一个或多个索引。