2017-05-01 7 views
0

私のような最大値でのリストがあります:Maximaのリストで最大の価値とインデックスを見つける?

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

を私は、リストの最大値が位置する位置(S)にする最大の価値を見つける必要があります。

私に発生している唯一のものは、シーケンスとしてリストを書き換えることで、「最大」コマンドを適用

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

しかし、それは効率的ではありません、と私はのインデックスを取得知りません最大値。

誰も私を助けることができますか?

答えて

1

lminは、リストの最小値を返します。 xがリストである場合、lmin(x)は最小値を返します。

最小値のインデックスを取得することはもう少し複雑です。私が何かを忘れていない限り、最も関連する組み込み関数はsublist_indicesであり、これは述語を満たす要素のインデックスを返します。述語は、trueまたはfalseを返す1つの変数の関数です。例を続行すると、sublist_indices(x, lambda([x1], x1 = lmin(x)))は、xの要素が最小値をとる1つ以上のインデックスを返します。

+0

ありがとうございます。 これは機能しました! –

関連する問題