wolfram-mathematica - 按最后一个元素从列表列表中选择最大一个的最佳方法是什么?

标签 wolfram-mathematica

在 Mathematica 中,Max[]是获取数字列表中最大数字的最有效函数,但是如何在列表列表中找到具有最大最后一个元素的列表?例如最大的二维坐标 x一系列坐标的一部分。

我最好的尝试是 SortBy ,但显然我不需要该程序来对我的列表进行排序,只需要我需要的最多一个。

最佳答案

也许:

list = {{4, 3}, {5, 10}, {-2, 1}, {3, 7}}

Reverse /@ Take[#, Ordering[#, -1]] &@(Reverse /@ #) &@ list
(*
-> {{5, 10}}
*)

利用 Ordering[ ] 的事实按第一个元素排列列表

编辑

或者更好(我认为):
Take[#, Ordering[Last /@ #, -1]] &@ list

编辑

还:
#[[Ordering[#, -1, Last@#2 > Last@#1 &]]] &@list

编辑

也许更快:
#[[First@Position[#, Max@#] &@(Last /@ #)]] &@list

关于wolfram-mathematica - 按最后一个元素从列表列表中选择最大一个的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659227/

相关文章:

wolfram-mathematica - 让 CellDingbat 在 Mathematica session 之间记住它的状态

wolfram-mathematica - 将代码从Mathematica复制到其他平台的已知问题?

c++ - Boost 的伯努利数与 Mathematica 不同

生成与 Mathematica LinearModelFit 相同结果的 Python 模块或算法

list - 使用字符串列表创建变量

string - Wolfram Mathematica 从多个文件导入数据

matlab - 在 MATLAB 中消除方程式中的变量

Julia 内存

wolfram-mathematica - 参数化 3D 几何形状以优化形状

arrays - 通过扩展欧几里德算法在任意长度数组上查找 Bezout 系数