Pythonic list reordering

Joaquin Abian gatoygata2 at gmail.com
Thu Apr 8 19:01:08 EDT 2010


On Apr 9, 12:52 am, Ben Racine <i3enha... at gmail.com> wrote:
> I have a list...
>
> ['dir_0_error.dat', 'dir_120_error.dat', 'dir_30_error.dat', 'dir_330_error.dat']
>
> I want to sort it based upon the numerical value only.
>
> Does someone have an elegant solution to this?
>
> Thanks,
> Ben R.

not sure about elegance, but my two cents:

>> mylist = ['dir_0_error.dat', 'dir_120_error.dat', 'dir_30_error.dat', 'dir_330_error.dat']
>> mylist = [(int(item.split('_')[1]), item) for item in mylist]
>> mylist.sort()
>> mylist = [item for idx, item in mylist]
>> mylist

['dir_0_error.dat', 'dir_30_error.dat', 'dir_120_error.dat',
'dir_330_error.dat']

joaquin



More information about the Python-list mailing list