acciones químicas para la degradación de moléculas
Me gustaría crear un diccionario para separar todos los elementos de una fórmula molecular.
Intenté usar el módulo re.
Formula=”C16H21NO2Na3″
pat = re.compile(‘(?P
molecule= pat.findall(Formula)
print (molecule)
Espero este resultado:
{‘C’: 16, ‘H’: 21, ‘N’: ”, ‘O’: 2, ‘Na’: 3}
davy.ai
Para crear un diccionario que divida todos los elementos de una fórmula molecular, se puede utilizar el siguiente código en Python:
Esto debería dar como resultado:
Aquí, primero definimos la fórmula molecular como una cadena (
Formula
). Luego usamos el módulore
para compilar un patrón de expresión regular que coincidirá con cada elemento de la fórmula, definido como una letra mayúscula (seguida de cero o más letras minúsculas) seguida de cero o más dígitos.Luego usamos el método
findall
del patrón compilado para buscar todas las ocurrencias de este patrón en la cadena de la fórmula, lo que devuelve una lista de tuplas (cada una conteniendo el nombre del elemento y su número correspondiente de átomos).Finalmente, iteramos sobre cada elemento en la lista de tuplas, asignando su nombre a una clave del diccionario y su número al valor correspondiente. Si el número está en blanco (lo que sucedería para elementos con una cuenta de 1), establecemos el valor en 1.
El diccionario resultante (
elements
) debería contener cada elemento en la fórmula como clave y su correspondiente número de átomos como valor.