On 6/25/2012 3:12 PM Mike Nickey said...
The problem with this code is that it only gets the first word beginning
with x and the others remaisn on the original list, sorted at the end. I've
tested on terminal many parts of the code and it whas fine, but when I run
it complete, it does not work.

Following is the solution of the problem. I can understand it, I just
can't understand why my code does not work.

#############################
def front_x(words):
   x_list = []
   other_list = []
   for w in words:
     if w.startswith('x'):
       x_list.append(w)
     else:
       other_list.append(w)
   return sorted(x_list) + sorted(other_list)
##############################

I did the same exercise so maybe I can assist here. From what I see, the line...
if w.startswith('x'): seems to be ineffective.

Why do you think so?

Try using the operator that checks for equality such as
if w[0] == 'x':

This does the same thing and works even when w is an empty string.

Emile

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to