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 次瀏覽

開啟您的 職業生涯

完成課程並獲得證書

開始學習
廣告
© . All rights reserved.