[Tutor] sort problem

Roelof Wobben rwobben at hotmail.com
Wed Sep 8 17:50:32 CEST 2010



 

> Subject: Re: [Tutor] sort problem
> From: evert.rol at gmail.com
> Date: Wed, 8 Sep 2010 17:26:58 +0200
> CC: tutor at python.org
> To: rwobben at 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

 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20100908/f51b8019/attachment-0001.html>


More information about the Tutor mailing list