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

Sắp xếp Tuples theo Tổng số trong Python

Khi cần thiết phải sắp xếp phần tử trong danh sách nhiều bộ dựa trên các chữ số, thì có thể sử dụng phương thức "sorted" và hàm lambda.

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

Ví dụ

my_list = [(11, 23, 45, 678), (34, 67), (653,), (78, 99, 23, 45), (67, 43)]

print("The list is : ")
print(my_list)

my_result = sorted(my_list, key = lambda tup : sum([len(str(ele)) for ele in tup ]))

print("The sorted tuples are ")
print(my_result)

Đầu ra

The list is :
[(11, 23, 45, 678), (34, 67), (653,), (78, 99, 23, 45), (67, 43)]
The sorted tuples are
[(653,), (34, 67), (67, 43), (78, 99, 23, 45), (11, 23, 45, 678)]

Giải thích

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

  • Hàm lambda được sử dụng để lặp qua danh sách tuple và lấy độ dài của mọi phần tử sau khi chuyển đổi mọi phần tử thành kiểu dữ liệu chuỗi.

  • Điều này được sắp xếp bằng phương pháp "sắp xếp".

  • Giá trị này được gán cho một biến.

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