我有一个x,y值的元组列表。我想在列表中找到最接近的x值的索引。下面是我的代码
# list of coords
a = [(376, 220), (350, 218), (324, 216), (298, 214), (271, 211), (245, 210), (219, 208), (192, 205), (166, 204)]
to_find = (190, 210)
#grab a new list with only x axis elements
lst = []
for i in range(len(a)):
lst.append(a[i][0])
#list of all x coordinates
print(lst)
#find the min closest element
def min_closest(lst, K):
return lst[min(range(len(lst)), key=lambda i: abs(lst[i] - K))]
#print the corresponding index
print(lst.index(min_closest(lst, to_find[0])))
我用x值建立了一个新的列表。最后,我将搜索列表的x值与x列表进行比较,以找到最接近的元素。后来我抓起了它的索引。有什么有效的方法吗
将
a
转换为numpy.array
,然后使用np.argmin
:尝试使用^{} :
输出:
你做了整件事,但又多了一步:
输出:
另一种方法可能更快:
相关问题 更多 >
编程相关推荐