Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python – Sắp xếp tuple theo tổng số chữ số


Khi cần sắp xếp các tuple theo tổng số chữ số của tất cả phần tử trong tuple, ta định nghĩa hàm chuyển mỗi phần tử thành chuỗi, lấy độ dài và cộng dồn.

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("Tuple ban đầu:")
print(my_tuple)
my_tuple.sort(key=count_tuple_digits)
print("Kết quả:")
print(my_tuple)

Kết quả

Tuple ban đầu: [(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]
Kết quả: [(13, 26), (12345,), (32, 14, 65, 723), (137, 234, 314)]

Giải thích

  • Hàm count_tuple_digits tính tổng độ dài chuỗi của các phần tử trong tuple.

  • Định nghĩa danh sách tuple và hiển thị.

  • Sắp xếp với key=count_tuple_digits.

  • In kết quả: tuple có tổng chữ số ít nhất đứng trước.