Python: convierte la denominación del sufijo en valores

Dada la lista de strings con sufijo de denominación, convierta la string a sus valores reales, sustituyendo los valores reales de denominación.

Entrada : test_list = [“25Cr”, “7M”, “24B”, “9L”, “2Tr”, “17K”] 
Salida : [250000000.0, 7000000.0, 24000000000.0, 900000.0, 2000000000000.0, 17000.0] 
Explicación : Sufijo reemplazado según Notaciones de símbolos con figura numérica.

Entrada : test_list = [“25Cr”, “7M”, “24B”] 
Salida : [250000000.0, 7000000.0, 24000000000.0] 
Explicación : el sufijo se reemplazó según las notaciones de símbolos con cifras numéricas. 

Enfoque: uso de float() + diccionario + bucle

En esto, construimos un diccionario de todas las denominaciones con sus valores originales y luego convertimos el valor en flotante y realizamos la multiplicación con el valor real de la denominación.

Python3

# Python3 code to demonstrate working of
# Convert Suffix denomination to Values
# Using float() + dictionary + loop
  
# initializing list
test_list = ["25Cr", "7M", "24B", "9L", "2Tr", "17K"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing values dictionary
val_dict = {"M": 1000000, "B": 1000000000, "Cr": 10000000,
            "L": 100000, "K": 1000, "Tr": 1000000000000}
  
res = []
for ele in test_list:
    for key in val_dict:
        if key in ele:
  
            # conversion of dictionary keys to values
            val = float(ele.replace(key, "")) * val_dict[key]
            res.append(val)
  
# printing result
print("The resolved dictionary values : " + str(res))

Producción:

La lista original es: [’25Cr’, ‘7M’, ’24B’, ‘9L’, ‘2Tr’, ’17K’]
Los valores de diccionario resueltos: [250000000.0, 7000000.0, 24000000000.0, 900000.0, 2000000000000.0, 17000.0]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *