Chuyển đổi danh sách thành dictionary với hai key: 'index' (chỉ số) và 'values' (giá trị). Sử dụng enumerate() và vòng lặp.
Mã nguồn
my_list = [32, 0, 11, 99, 223, 51, 67, 28, 12, 94, 89]
print("Danh sách gốc:", my_list)
my_list.sort(reverse=True)
print("Danh sách sắp xếp giảm dần:", my_list)
index_key, value_key = "index", "values"
my_result = {index_key: [], value_key: []}
for idx, val in enumerate(my_list):
my_result[index_key].append(idx)
my_result[value_key].append(val)
print("Kết quả:", my_result)
Kết quả
Danh sách gốc: [32, 0, 11, 99, 223, 51, 67, 28, 12, 94, 89]
Danh sách sắp xếp giảm dần: [223, 99, 94, 89, 67, 51, 32, 28, 12, 11, 0]
Kết quả: {'index': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'values': [223, 99, 94, 89, 67, 51, 32, 28, 12, 11, 0]}
Giải thích
- Danh sách được sắp xếp giảm dần.
- Khởi tạo dictionary với hai key rỗng.
enumerate(my_list)sinh cặp (chỉ số, giá trị).- Append chỉ số vào list 'index', giá trị vào list 'values'.
Cách ngắn gọn hơn:
my_result = {
'index': list(range(len(my_list))),
'values': my_list
}
Hoặc dùng dict(enumerate(my_list)) để tạo dictionary {index: value}.