Alistair King wrote: > Steve Holden wrote: > >>[EMAIL PROTECTED] wrote: >> >> >>>J. Clifford Dyer wrote: >>> >>> >>> >>>>Alistair King wrote: >>>> >> >>[... advice and help ...] >> >> >> >>>this worked a treat: >>> >>>def monoVarcalc(atom): >>> >>> a = atom + 'aa' >>> Xaa = a.strip('\'') >>> m = atom + 'ma' >>> Xma = m.strip('\'') >>> Xaa = DS1v.get(atom) >>> Xma = pt.get(atom) >>> return Xaa, Xma >>> >>> >>>Caa, Cma = monoVarcalc('C') >>> >>> >> >>In which case I suspect you will find that this works just as well: >> >>def monoVarcalc(atom): >> >> Xaa = DS1v.get(atom) >> Xma = pt.get(atom) >> return Xaa, Xma >> >> >>Unless there is something decidedly odd about the side-effects of the >>statements I've removed, since you never appear to use the values of a, >>m, Xaa and Xma there seems little point in calculation them. >> >>regards >> Steve >> > > Yup...it works..but now i have to create a dictionary of 'a' and 'm', > ie... "Xaa" and "Xma" string, key:value pairs so i can use other > functions on the Xaa, Xma variables by iterating over them and > retrieving the values from the variables. I think if i just input Xaa > and Xma, only the values associated with those variables will go into > the dictionary and ill just be iterating over nonsence..... > > atomsmasses = {} > > def monoVarcalc(atom): > a = atom + 'aa' > m = atom + 'ma' > atomsmasses[a]=m > Xaa = a.strip('\'') > Xma = m.strip('\'') > Xma = pt.get(atom) > if DS1v.get(atom) != None: > Xaa = DS1v.get(atom) > else: > Xaa = 0 > return Xaa, Xma > > Caa, Cma = monoVarcalc('C') > Oaa, Oma = monoVarcalc('O') > Haa, Hma = monoVarcalc('H') > Naa, Nma = monoVarcalc('N') > Saa, Sma = monoVarcalc('S') > Claa, Clma = monoVarcalc('Cl') > Braa, Brma = monoVarcalc('Br') > Znaa, Znma = monoVarcalc('Zn') > > > > i think? :) > thanks > > a > No fair: you only just added atomsmasses! ;-)
However, it seems to me that your atomsmasses dictionary is going to be entirely predictable, and you are still focusing on storing the *names* of things rather than building up a usable data structure. Indeed I suspect that your problem can be solved using only the names of the elements, and not the names of the variables that hold various attributes of the elements. Perhaps if you explain in plain English what you *really* want to do we can help you find a more Pythonic solution. It'll probably end up something like this: mass = {} for element in ['C', 'O', ..., 'Zn'] mass[element] = monoVarcalc(element) But I could, of course, be completely wrong ... it wouldn't be the first time. Do you understand what I'm saying? regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list