Question on sorting

Lad export at hope.cz
Wed Dec 1 06:00:49 EST 2004


wes weston <wweston at att.net> wrote in message news:<0gKqd.72252$7i4.43429 at bgtnsc05-news.ops.worldnet.att.net>...
> Lad wrote:
> > Hi,
> > I have a file of records of 4 fields each.
> > Each field is separated by a semicolon. That is
> > 
> > Filed1;Ffield2;Field3;Field4
> > 
> > But there may be also empty records such as
> > ;;;;
> > (only semicolons).
> > 
> > For sorting I used
> > #################
> > lines = file('Config.txt').readlines()# a file I want to sort
> > lines.sort()
> > ff=open('ConfigSorted.txt','w')# sorted file
> > ff.writelines(lines)
> > ff.close()
> > ###############
> > It was sorted but empty records were first. I need them to be last(at
> > the end of the file). How can I do that?
> > 
> > Thanks for help
> > Lad
> 
> Lad,
>     The sort call can have a function name as an arg. You
> could do:
> 
> def mycompare(s1,s2):
> #return -1 to put s1's at front; 1 to put s1's at back; 0 for a tie
> #if s1==";;;;" and s2<>";;;;": return 1
> 
> lines.sort(mycompare)
> 
Wes,
Thank you for reply. But I do not understand mycompare function. Can
you please explain to me how it should work? Thanks

LAd



More information about the Python-list mailing list