我正在尝试在 Python 中实现整数列表的排序算法。但是,我想根据每个元素与给定目标值之间的绝对差对列表进行排序。例如,如果我的目标值为 5,列表为 [10, 3, 8, 1],则排序后的列表应为 [3, 8, 10, 1]。我怎样才能有效地实现这一目标?
您可以使用排序的关键参数:
sorted([10, 3, 8, 1], key=lambda x: (x - 5)**2)