Khi cần sắp xếp các mục danh sách dựa trên chữ số của chúng, định nghĩa phương thức dùng list comprehension và sum để xác định kết quả.
Ví dụ
Minh họa dưới đây:
def sort_list_digit(my_list):
digits = [int(digit) for digit in str(my_list)]
return sum(digits)
my_list = [124, 20, 106, 35, 44]
print("Danh sách là:")
print(my_list)
print("Kết quả là:")
print(sorted(my_list, key=sort_list_digit))
Kết quả
Danh sách là: [124, 20, 106, 35, 44] Kết quả là: [20, 124, 106, 35, 44]
Giải thích
- Định nghĩa phương thức
sort_list_digitnhận danh sách làm tham số. - Dùng list comprehension lặp qua các phần tử, chuyển mỗi phần tử thành số nguyên.
- Trả về tổng các chữ số của các phần tử trong danh sách.
- Bên ngoài phương thức, định nghĩa danh sách số nguyên và hiển thị ra console.
- Sắp xếp danh sách với key là phương thức đã định nghĩa trước.
- Đây là đầu ra hiển thị trên console.