Python – 按範圍包含排序
在需要根據範圍對列表進行排序時,將使用函式運用“abs”方法、“sum”方法和列表解析。
以下是對其進行演示 −
示例
def sum_range_incl(my_row):
return sum([abs(element [1] - element [0]) for element in my_row if element [0] > i and element [0] < j and element [1] > i and element [1] < j])
my_list = [[(12, 4), (55, 10), (11, 16)], [(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 6), (6, 13)]]
print("The list is :")
print(my_list)
i, j = 2, 15
my_list.sort(key=sum_range_incl)
print("The resultant list is :")
print(my_list)輸出
The list is : [[(12, 4), (55, 10), (11, 16)], [(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 6), (6, 13)]] The resultant list is : [[(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 4), (55, 10), (11, 16)], [(12, 6), (6, 13)]]
說明
定義名為“sum_range_incl”的方法,該方法將元組列表作為引數。
利用列表解析遍歷該列表。
確定列表中所有元素的第一個元素和第零個元素之間的絕對差,並對第零個元素與特定整數進行比較。
此值的和作為函式的輸出返回。
定義一個元組列表,並將其顯示在控制檯上。
為兩個整數“I”和“j”定義值。
利用 sort 方法透過傳遞先前定義的方法作為引數對列表進行排序。
輸出將顯示在控制檯上。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP