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

Python – Chuyển đổi hậu tố đơn vị (K, M, B, Tr...) thành giá trị số

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_dict lư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.