[英]get nearest value of second element in list of tuples
试图获得与我比较的值最接近的值的列表
示例列表
[('MK20G / MK20H', 7.1, 7.1, 31, 10), ('MK10G / MK10H', 9.3, 9.3, 18.5, 10)]
并比较值
1.34
结果应该是
('MK20G / MK20H', 7.1, 7.1, 31, 10)
因为元素 1 和 2 最接近 1.34
但是当我的值为 7.5 时,它应该选择 ('MK10G / MK10H', 9.3, 9.3, 18.5, 10)
所以 >= 应该使用
我试过
nearest = min(value10, key=lambda x: (x, D))
但它似乎不起作用。 value10 保存 mt 元组,D 是要与之比较的值(本例中为 1.34)
如果可能的话,在选择之前获得元素 1 和 2 的最高值会很好我知道在我的示例列表中这些值是相等的,但可能会发生 2 个值不相同的情况,然后需要 2 个中的最高值
但是当我的值为 7.5 时,它应该选择 ('MK10G / MK10H', 9.3, 9.3, 18.5, 10)
所以 >= 应该使用
这基本上意味着您想要高于D
的最低值。
假设my_list
包含所有元组的列表。
my_list = [('MK20G / MK20H', 7.1, 7.1, 31, 10), ('MK10G / MK10H', 9.3, 9.3, 18.5, 10)]
D = 1.7
nearest = min([elem for elem in my_list if elem[1] >= D], key=lambda x: x[1])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.