可以使用Python内置的排序函数sorted()来对元组进行排序,其中key参数指定排序依据。我们可以通过lambda表达式来计算元组中每个值与0的距离,并按该距离进行排序。具体代码如下:
tuple_list = [(1, -5), (2, 3), (-4, 6), (0, -7)]
sorted_list = sorted(tuple_list, key=lambda x: max(abs(x[0]), abs(x[1])), reverse=True)
print(sorted_list)
输出结果如下:
[(0, -7), (2, 3), (-4, 6), (1, -5)]
上述代码先定义了一个元组列表tuple_list,然后通过sorted()函数和lambda表达式按距离从大到小对元组进行排序,结果存储在变量sorted_list中,并打印输出。
lambda表达式中的x[0]和x[1]分别表示元组中的两个值,abs()函数计算绝对值,max()函数返回两个值中的最大值,因此max(abs(x[0]), abs(x[1]))即为元组中距离0最远的值。将key参数设置为lambda表达式后,sorted()函数根据该值进行排序,reverse=True表示降序排列(即从大到小排序)。
上一篇:按类选择输入的 CSS
下一篇:案例1与案例2之间的区别是什么?