2024-05-03 02:30:50 发布
网友
在python中,我需要根据元组的第二个索引找到它们的k-最小值, 例如,我有一个元组列表,其中包含一些点到定点的距离,比如:[('p1',12.5),('p2',3),('p4',1),('p5',16),('p6',15),...](from fixed point p0),我想根据距离找到k个最小值。
[('p1',12.5),('p2',3),('p4',1),('p5',16),('p6',15),...](from fixed point p0)
我的意思是类似这样的代码,这里解释:Find the k smallest values of a numpy array
非常感谢您的解决方案
可以使用heapq.nsmallest,并指定元组中的第二个元素作为比较键:
heapq.nsmallest
from heapq import nsmallest lst = [('p1',12.5),('p2',3),('p4',1),('p5',16),('p6',15)] nsmallest(3, lst, key=lambda x: x[1]) # [('p4', 1), ('p2', 3), ('p1', 12.5)]
可以使用
heapq.nsmallest
,并指定元组中的第二个元素作为比较键:相关问题 更多 >
编程相关推荐