Hi Chris, Yeah I hear you on point A. but this the specification I was given, so I have to follow it unfortunately. I've also been restricted and not allowed to use any other packages. I was using NumPy earlier (should have mentioned that) but I was wondering if there was a simpler way. Is NumPy technically even faster than just iterating and modifying the list directly?
Also if I'm creating an array then making it, why not just do a temporary sort and capture the first and last values? Is this method you've provided supposed to be faster? Dave On Fri, Sep 26, 2008 at 12:42 AM, Chris Rebert <[EMAIL PROTECTED]> wrote: > On Thu, Sep 25, 2008 at 8:57 PM, David Di Biase <[EMAIL PROTECTED]> > wrote: > > I have a list with about 1000-1500 sub-lists which look like so: > > list[-0.28817955213290786, 3.6693631467403929, 'H', 31.31225233035784]] > > > > The first and second values are Angstrom units specifying the location of > a > > particle. What I'd like to do is determine the distance between the > smallest > > and largest value in the arrays first position 0. I tried reading the > manual > > for this but I don't see how it applies key or any of those other > commands > > to the function. I could easily write a sort to do this and capture the > > first and last spots, but why do that when I can use max and min (if I > can > > actually do that...). > > A. You should probably be using objects rather than arrays to > represent your datapoints, so that they're more structured and it's > more apparent what the values mean. > > B. Assuming by "distance" you meant "difference" and/or that the > distance is only in 1 dimension: > > from operator import itemgetter > firsts = map(itemgetter(0), main_list) > distance = max(firsts) - min(firsts) > > > > > So you wonderful Python gods, lay some knowledge on me. please? lol... > > > > while I'm at it, is there a way to modify an entire list without having > to > > produce a whole new one? For example now say I want to modify list[0] and > > multiply it by some value. From what I understand previous version of > Python > > allowed lists to be multiplied like matrices...now apparently it just > > replicates the list. :-/ shucks... > > You just have to apply the transform to each list element individually > (also, you might consider using NumPy [http://numpy.scipy.org/] if > you're doing a lot of matrix manipulation): > > for lst in main_list: > lst[0] *= some_value > > Regards, > Chris > > > > > The first question would be useful to know, but the second question I do > > quite a bit of and the "best practice" would be really great to know! > > > > Thanks in advanced! > > > > -- > > http://mail.python.org/mailman/listinfo/python-list > > > -- > Follow the path of the Iguana... > http://rebertia.com >
-- http://mail.python.org/mailman/listinfo/python-list