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

Chương trình Python gán giá trị phần tử danh sách bằng thứ tự độ lớn

Khi cần gán cho mỗi phần tử trong danh sách một giá trị tương ứng với thứ tự độ lớn (rank) của nó, ta kết hợp sử dụng tập hợp (set), hàm zip và list comprehension.

Ví dụ

Minh họa dưới đây:

my_list = [91, 42, 27, 39, 24, 45, 53]
print("Danh sách ban đầu:")
print(my_list)
my_ordered_dict = dict(zip(list(set(my_list)), range(len(set(my_list)))))
my_result = [my_ordered_dict[elem] for elem in my_list]
print("Kết quả:")
print(my_result)

Kết quả

Danh sách ban đầu: [91, 42, 27, 39, 24, 45, 53]
Kết quả: [0, 2, 6, 1, 5, 3, 4]

Giải thích

  • Định nghĩa danh sách và in ra màn hình.
  • Lấy các phần tử duy nhất bằng set, chuyển thành list, sau đó zip với range độ dài để tạo cặp (giá trị, thứ hạng).
  • Chuyển thành dictionary ánh xạ giá trị → thứ hạng.
  • Dùng list comprehension tra cứu dictionary cho từng phần tử gốc.
  • In kết quả.