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

Python - Sắp xếp các Tuples theo Tổng số

Khi được yêu cầu sắp xếp các bộ giá trị theo tổng các chữ số, một phương thức được định nghĩa để chuyển đổi mọi phần tử trong danh sách thành một chuỗi và lấy độ dài của mỗi chuỗi này và cộng chúng lại. Điều này được hiển thị là kết quả của phương pháp.

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

Ví dụ

def count_tuple_digits(row):
   return sum([len(str(element)) for element in row])

my_tuple = [(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]

print("The tuple is :")
print(my_tuple)

my_tuple.sort(key = count_tuple_digits)

print("The result is :")
print(my_tuple)

Đầu ra

The tuple is :
[(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]
The result is :
[(13, 26), (12345,), (32, 14, 65, 723), (137, 234, 314)]

Giải thích

  • Một phương thức có tên ‘count_tuple_digits’ được định nghĩa sẽ nhận tuple làm tham số và chuyển đổi mọi phần tử trong danh sách thành một chuỗi, đồng thời lấy độ dài của từng chuỗi này và cộng chúng lại.

  • Điều này được thực hiện bằng cách sử dụng phương thức 'sum' được trả về dưới dạng đầu ra.

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

  • Bộ tuple được sắp xếp bằng cách chỉ định khóa làm phương thức.

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