Computer >> Máy Tính >  >> Lập trình >> Python

Python - Sắp xếp theo phạm vi bao gồm

Khi cần sắp xếp danh sách dựa trên phạm vi, phương thức "abs", phương thức "sum" và khả năng hiểu danh sách được sử dụng bằng một hàm.

Dưới đây là một minh chứng về điều tương tự -

Ví dụ

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)

Đầu ra

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)]]

Giải thích

  • Một phương thức có tên là ‘sum_range_incl’ được xác định sẽ nhận một danh sách các tuple làm tham số.

  • Danh sách được lặp lại bằng cách sử dụng tính năng hiểu danh sách.

  • Sự khác biệt tuyệt đối giữa phần tử đầu tiên và phần tử thứ 0 được xác định cho tất cả các phần tử trong danh sách và phần tử thứ 0 được so sánh với các số nguyên cụ thể.

  • Tổng giá trị này được trả về dưới dạng đầu ra của hàm.

  • Danh sách danh sách các bộ được xác định và hiển thị trên bảng điều khiển.

  • Giá trị của hai số nguyên ‘I’ và ‘j’ được xác định.

  • Danh sách được sắp xếp bằng cách sử dụng phương pháp sắp xếp bằng cách chuyển phương thức đã xác định trước đó làm tham số.

  • Đầu ra được hiển thị trên bảng điều khiển.