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

Chương trình Python để sắp xếp các bộ giá trị theo tần suất của sự khác biệt tuyệt đối của chúng

Khi được yêu cầu sắp xếp các bộ giá trị theo tần suất chênh lệch tuyệt đối của chúng, hàm lambda, phương thức "abs" và phương thức "sorted" được sử dụng.

Ví dụ

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

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)

Đầu ra

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

Giải thích

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

  • Khả năng hiểu danh sách được sử dụng để lặp lại danh sách và nhận được sự khác biệt tuyệt đối giữa các phần tử liên tiếp.

  • Điều này được chuyển đổi thành một danh sách và được lưu trữ trong một biến.

  • Phương thức "sắp xếp" lại được sử dụng trên các phần tử của danh sách và khóa được chỉ định là "lambda" và số lượng chênh lệch tuyệt đối giữa các phần tử liên tiếp được xác định.

  • Điều này được gán cho một biến và được hiển thị trên bảng điều khiển.