> Subject: Re: [Tutor] sort problem > From: evert....@gmail.com > Date: Wed, 8 Sep 2010 17:26:58 +0200 > CC: tutor@python.org > To: rwob...@hotmail.com > > > I have this : > > > > def sort_sequence(seq): > > """ > > >>> sort_sequence([3, 4, 6, 7, 8, 2]) > > [2, 3, 4, 6, 7, 8] > > >>> sort_sequence((3, 4, 6, 7, 8, 2)) > > (2, 3, 4, 6, 7, 8) > > >>> sort_sequence("nothappy") > > 'ahnoppty' > > """ > > if type(seq) == type([]): > > seq.sort() > > elif type(seq)== type(()): > > seq = tuple(sorted(seq)) > > else: > > seq2 = list(seq) > > seq2.sort() > > print seq2 > > seq.join(seq2) > > return seq > > > > The problem is that if I want to sort the characters in a string, the list > > exist of the sorted characters but as soon as I convert them to a string I > > get the old string. > > Carefully read the documentation for str.join: > http://docs.python.org/library/stdtypes.html#str.join > > How does it work, what does it return, etc. Then fix the corresponding line > in your code. > As a hint: str.join does work quite different than list.sort; I assume you're > confusing their syntaxes. > > Good luck, > > Evert > str.join(iterable)ΒΆ How it works. It puts all the elements of iterable into one string named str. So it returns a string. Str is here seq and the iterable is the list made by list.sort so seq2 So I don't see the error in that line. Roelof
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor