按绝对差的频率对元组进行排序的 Python 程序
pythonserver side programmingprogramming更新于 2025/11/1 6:36:17
当需要按绝对差的频率对元组进行排序时,会使用 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 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

