S. P. Molnar wrote: > I have just started attempting programming in Python and am using Spyder > with Python 3.5.2 on a Linux platform. (I first started programing in > Fortran II using punched paper tape. Yes, am a rather elderly . . .). > > I have bumbled through, what I foolishly thought was a simple problem, a > short program to change frequency to wavelength for a plot of > ultraviolet spectra. I have attached a pdf of the program. > > During my attempt at programming I have printed results at various > stages. Printing wavelength = [row[0] for row in data] gives me 25000 > as the first frequency in the wavelength list (the corresponding > wavelength is 400). > > To change the frequency to wave length I did the following: > > > p=1/1e7 > wave_length = p*np.array(frequency) > > (The relationship between wavelength and frequency is: wavelength = > 1.0e7/frequency, where 1e7 is the speed of light) > > > Apparently whhat I have managed to do is divide each element of the > frequency list by 1/1e7. > > What I want to do is divide 1e7 by each element of the freqquency list. > > How di I do this?
Since you are using numpy anyway I'd put the frequencies into a numpy.array as soon as possible: >>> import numpy >>> frequencies = numpy.array([25000, 1250, 400]) Because of numpy's "broadcasting" you can mix skalars and vectors as you already tried -- and with the right formula, lamda = c / nu, you get the correct result: >>> speed_of_light = 1e7 >>> wavelengths = speed_of_light / frequencies >>> wavelengths array([ 400., 8000., 25000.]) The equivalent list comprehension in plain Python looks like this: >>> frequencies = [25000, 1250, 400] >>> wavelengths = [speed_of_light/freq for freq in frequencies] >>> wavelengths [400.0, 8000.0, 25000.0] > Please keep in mind that many, many hyears ago I learned the ole > arithmetic That hasn't changed and is honoured by numpy; you were probably confused by the new tool ;) > and an not trying to start a flame war. > Thanks in advance for the assistance tha I am sure will be most helpful. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor