Khi cần sắp xếp danh sách theo số lần xuất hiện của một chữ số (K) trong mỗi phần tử, ta định nghĩa hàm dùng count() và str().
Ví dụ
def sort_count_digits(elements):
return str(elements).count(str(my_key))
my_list = [4522, 2452, 1233, 2465]
print("Danh sách ban đầu:")
print(my_list)
my_key = 2
print("Giá trị khóa:")
print(my_key)
my_list.sort(key=sort_count_digits)
print("Kết quả:")
print(my_list)
Kết quả
Danh sách ban đầu: [4522, 2452, 1233, 2465] Giá trị khóa: 2 Kết quả: [1233, 2465, 4522, 2452]
Giải thích
Hàm
sort_count_digitschuyển phần tử thành chuỗi, đếm số lần xuất hiện của chuỗi khóa.Định nghĩa danh sách và khóa K.
Sắp xếp với key là hàm trên (mặc định tăng dần, số ít chữ số K hơn đứng trước).
In kết quả.