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

按绝对差的频率对元组进行排序的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’,并确定相邻元素之间的绝对差的计数。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程