Khi cần gán ký tự alphabet (a, b, c...) cho mỗi phần tử duy nhất của list số nguyên, ta dùng string.ascii_lowercase và list comprehension.
Ví dụ
import string
my_list = [11, 51, 32, 45, 21, 66, 12, 58, 90, 0]
print("Danh sách gốc:")
print(my_list)
print("Danh sách sau khi sắp xếp:")
my_list.sort()
print(my_list)
temp_val = {}
my_counter = 0
for element in my_list:
if element in temp_val:
continue
temp_val[element] = string.ascii_lowercase[my_counter]
my_counter += 1
my_result = [temp_val.get(element) for element in my_list]
print("Danh sách kết quả:")
print(my_result)
Kết quả đầu ra
Danh sách gốc: [11, 51, 32, 45, 21, 66, 12, 58, 90, 0] Danh sách sau khi sắp xếp: [0, 11, 12, 21, 32, 45, 51, 58, 66, 90] Danh sách kết quả: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Giải thích
- Import
string, dùngstring.ascii_lowercase= 'abcdefghijklmnopqrstuvwxyz'. - Sắp xếp list.
- Duyệt list đã sắp xếp, gán ký tự alphabet theo thứ tự cho mỗi giá trị duy nhất (bỏ qua trùng lặp nhờ
if element in temp_val: continue). - Dùng dictionary
temp_valánh xạ giá trị → chữ cái. - List comprehension tra cứu dictionary tạo kết quả.
Ứng dụng: Mã hóa categorical data thành ký tự cho visualization hoặc encoding.