在 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/