[Tutor] Logical Sorting

2006-07-07 Thread Evan Klitzke
Hi,

I am trying to sort a list of directories that correspond to kernel
sources under /usr/src/linux.  I wrote some code that gets a list like
this:
['linux-2.6.9-gentoo-r4', 'linux-2.6.16-gentoo-r11/', 'linux-2.6.16-gentoo-r7/']

When I sort the list, I want it to go from oldest (lowest version) to
newest, so the sorted list should look like this:
['linux-2.6.9-gentoo-r4', 'linux-2.6.16-gentoo-r7/', 'linux-2.6.16-gentoo-r11/']

The problem is that since the built in string comparisons compare
character by character, so the sort puts 2.6.16 before 2.6.9, and -r11
before -r7.  This is obviously not what I want.  My question is: are
there any modules or built in methods that will do a logical sort on a
list like this, and sort it the way I want, or will I have to write my
own sorting function?

-- Evan Klitzke

P.S. I know that the simplest way is just to use ls to sort by time,
but it is not necessarily true that older kernel versions have an
older time stamp :-)
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


Re: [Tutor] Logical Sorting

2006-07-07 Thread Evan Klitzke
On 7/7/06, Evan Klitzke [EMAIL PROTECTED] wrote:
 Hi,

 I am trying to sort a list of directories that correspond to kernel
 sources under /usr/src/linux.

Err, this is under /usr/src... not that it is really pertinent to my question.

-- Evan Klitzke
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


[Tutor] Variables don't change when altered within a loop?

2006-06-29 Thread Evan Klitzke
Hi, I just started picking up python yesterday, and have already come
across something that has me stumped.  I want some code that does
this:

a = foo(a)
b = foo(b)
c = foo(c)

So I try to do this with a for loop, like so:

for i in [a, b, c]:
   i = foo(i)
   print i # make sure that it worked correctly

So far, so good.  The problem is that outside the loop, the values
aren't changed.  For example,

print [a, b, c]   # outside the loop; the values never actually changed!

What is going on?  Why aren't the values of my variables changing when
I change them inside a loop like this?

-- Evan
___
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor