Giới thiệu
Để chuyển đổi các chuỗi có hậu tố đơn vị (như "5Cr", "7M", "9B") thành giá trị số thực, ta dùng dictionary ánh xạ hậu tố -> hệ số, sau đó lặp qua list và thay thế.
Ví dụ minh họa
my_list = ["5Cr", "7M", "9B", "12L", "20Tr", "30K"]
print("Danh sách ban đầu:")
print(my_list)
value_dict = {
"M": 1_000_000,
"B": 1_000_000_000,
"Cr": 10_000_000,
"L": 100_000,
"K": 1_000,
"Tr": 1_000_000_000_000
}
my_result = []
for element in my_list:
for key in value_dict:
if key in element:
val = float(element.replace(key, "")) * value_dict[key]
my_result.append(val)
print("Giá trị sau chuyển đổi:")
print(my_result)
Kết quả đầu ra
Danh sách ban đầu: ['5Cr', '7M', '9B', '12L', '20Tr', '30K'] Giá trị sau chuyển đổi: [50000000.0, 7000000.0, 9000000000.0, 1200000.0, 20000000000000.0, 30000.0]
Giải thích
- Dictionary
value_dictlưu hệ số nhân cho từng hậu tố. - Duyệt từng phần tử, tìm hậu tố khớp, loại bỏ hậu tố, chuyển sang float, nhân với hệ số.
- Kết quả lưu vào list mới.