@@ -391,10 +391,10 @@ def get_element_mass(input_element, isotope=None):
391391 elif isinstance (input_element , str ):
392392 symbol = input_element
393393 try :
394- number = next ( key for key , value in symbol_by_number . items () if value == input_element )
395- except :
396- symbol = input_element [ 0 ] + input_element [ 1 ]. lower ()
397- number = [ key for key , value in symbol_by_number . items () if value == symbol ][ 0 ]
394+ number = number_by_symbol [ symbol ]
395+ except KeyError :
396+ symbol = input_element . capitalize ()
397+ number = number_by_symbol [ symbol ]
398398
399399 if symbol is None or number is None :
400400 raise ValueError ('Could not identify element {0}' .format (input_element ))
@@ -438,6 +438,7 @@ def get_element_mass(input_element, isotope=None):
438438 92 : 'U' , 93 : 'Np' , 94 : 'Pu' , 95 : 'Am' , 96 : 'Cm' , 97 : 'Bk' , 98 : 'Cf' , 99 : 'Es' , 100 : 'Fm' , 101 : 'Md' ,
439439 102 : 'No' , 103 : 'Lr' , 104 : 'Rf' , 105 : 'Db' , 106 : 'Sg' , 107 : 'Bh' , 108 : 'Hs' , 109 : 'Mt' , 110 : 'Ds' ,
440440 111 : 'Rg' , 112 : 'Cn' , 113 : 'Nh' , 114 : 'Fl' , 115 : 'Mc' , 116 : 'Lv' , 117 : 'Ts' , 118 : 'Og' }
441+ number_by_symbol = {value : key for key , value in symbol_by_number .items ()}
441442
442443# Structure of mass_by_symbol items: list(list(isotope1, mass1, weight1), list(isotope2, mass2, weight2), ...)
443444mass_by_symbol = {
0 commit comments