Python程序按绝对差异的频率对元组进行排序
当需要按绝对差的频率对元组进行排序时,可以使用 lambda 函数、'abs' 方法和 'sorted' 方法。
示例
下面是相同的演示
my_list = [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)]输出结果print("名单是:")
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("结果列表是:")
print(my_result)
名单是:[(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)]
结果列表是:
[(11, 26), (90, 11), (26, 21), (32, 18), (21, 33), (25, 37)]
解释
元组列表被定义并显示在控制台上。
列表推导式用于迭代列表并获得连续元素之间的绝对差异。
这将转换为列表并存储在变量中。
'sorted' 方法再次用于列表的元素,并将键指定为 'lambda' 并确定连续元素之间绝对差的计数。
这被分配给一个变量并显示在控制台上。
以上是 Python程序按绝对差异的频率对元组进行排序 的全部内容, 来源链接: utcz.com/z/343757.html