Python 程序按绝对差频次对元组进行排序


当需要按它们的绝对差的频次对元组进行排序时,将使用 lambda 函数、“abs”方法和“sorted”方法。

实例

下面是对此进行演示

my_list = [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)]

print("The list is :")
print(my_list)

my_diff_list = [abs(x - y) for x, y in my_list]

my_result = sorted(my_list, key = lambda sub: my_diff_list.count(abs(sub[0] - sub[1])))

print("The resultant list is :")
print(my_result)

输出

The list is :
[(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)]
The resultant list is :
[(11, 26), (90, 11), (26, 21), (32, 18), (21, 33), (25, 37)]

说明

  • 定义了一个元组列表并将其显示在控制台上。

  • 列表解析用于迭代列表并获取连续元素之间的绝对差。

  • 这转换为一个列表并存储在变量中。

  • 再次对列表的元素使用“sorted”方法,并且将键指定为“lambda”,并确定连续元素之间绝对差的计数。

  • 这被分配给一个变量并显示在控制台上。

更新时间: 2021-09-16

247 次浏览

开启您的 职业生涯

完成课程并获得证书

开始学习
广告