我有一个 maxima 列表,例如:
x:[1,3,7,98,211,3,2.44,23]
我需要找到列表的最大值以及最大值位于哪个位置。
我唯一想到的是将列表重写为序列并应用“max”命令
max(first(x),second(x),...,last(x))
但是效率不高,而且我不知道获取最大值的索引。
有人可以帮我吗?
最佳答案
lmax
返回列表的最大值。给定 x
是一个列表,则
lmax(x)
返回x
的最大值。
获取最大值的索引有点复杂。最相关的内置函数(除非我忘记了某些事情——可能会发生)是 sublist_indices ,它返回满足谓词的元素的索引。谓词是一个返回 true 或 false 的变量的函数。要继续该示例,`
sublist_indices(x, lambda([x1], x1 = lmax(x)))
返回一个或多个索引,在这些索引处,x
的元素呈现最大值。
关于list - 在 Maxima 列表中查找最大值和索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43714455/