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

Python – Sắp xếp theo số lần xuất hiện của một chữ số cụ thể


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_digits chuyể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ả.