给定一个整数列表,我想找出最接近我输入的数字的数字:
>>> myList = [4, 1, 88, 44, 3] >>> myNumber = 5 >>> takeClosest(myList, myNumber) ... 4
有什么快速的方法可以做到这一点吗?
如果我们不确定列表是否已排序,我们可以使用内置min()函数来查找与指定数字距离最小的元素。
min()
>>> min(myList, key=lambda x:abs(x-myNumber)) 4
请注意,它也适用于具有 int 键的字典,例如{1: "a", 2: "b"}。此方法需要 O(n) 时间。
{1: "a", 2: "b"}