single value:
listSMaxArg[f_, L_List] := L~Extract~Ordering[f /@ L, 1]
listSMaxArg[StringLength,
StringCases[
RandomChoice[CharacterRange["a", "z"], 1000], {x__ ~~ x__}]]
multiple values:
listMMaxArg[f_, L_List] := L~Extract~Position[#, Max@#] &[f /@ L]
listMMaxArg[StringLength,
StringCases[
RandomChoice[CharacterRange["a", "z"], 1000], {x__ ~~ x__}]]
single value position:
listSMaxPArg[f_, L_List] := L~Extract~Ordering[f @@@ L, 1]
listSMaxPArg[Subtract,
StringPosition[
RandomChoice[CharacterRange["a", "z"], 1000], {x__ ~~ x__}]]
multiple values position:
listMMaxPArg[f_, L_List] := L~Extract~Position[#, Max@#] &[f @@@ L]
listMMaxPArg[Subtract,
StringPosition[
RandomChoice[CharacterRange["a", "z"], 1000], {x__ ~~ x__}]]