📌  相关文章
📜  Python|在给定列表中找到最接近 k 的数字(1)

📅  最后修改于: 2023-12-03 15:04:25.185000             🧑  作者: Mango

Python - 在给定列表中找到最接近 k 的数字

在编写代码时,我们经常需要从给定的列表中找到最接近给定数字的元素。在Python中,这可以通过以下两种方法来实现:

1. 使用循环遍历列表

代码片段如下:

def get_closest_num1(num_list, k):
    diff = float('inf')
    closest = None
    for num in num_list:
        if abs(num - k) < diff:
            diff = abs(num - k)
            closest = num
    return closest

该代码使用循环遍历列表中的每个元素,并将最接近的元素存储在变量closest中。使用abs()函数来计算给定数字和列表元素之间的差距,以找到最接近的元素。最后,该函数返回closest变量。

2. 使用内置函数min()和key参数

代码片段如下:

def get_closest_num2(num_list, k):
    closest = min(num_list, key=lambda x: abs(x - k))
    return closest

该代码使用内置函数min()和key参数来查找列表中最接近给定数字的元素。lambda函数用于计算给定数字和列表元素之间的差距,以便min()函数按此差距对元素进行排序。最后,该函数返回最接近的元素。

使用这两种方法时,需要注意给定列表num_list应该包含数字类型的元素,并且这两个函数均返回一个数字类型的值。