Thanks a lot for your help. This was the problem. I fixed it this way :

def linear_merge(list1, list2):
  if list1==[]: return list2
  elif list2==[]: return list1
  elif list1[-1]>list2[-1]:
    a=list1.pop()
    linear_merge(list1,list2).append(a)
    return linear_merge(list1,list2)
  else:
    a=list2.pop()
    linear_merge(list1,list2).append(a)
    return linear_merge(list1,list2)

I use append and then return the result, as list.append is not a query.

Thank you !

On 03/01/2016 09:40 PM, Danny Yoo wrote:

Also, as a quick note: Python list append is not functional: it mutates rather than returns a useful return value. You may need to revisit the parts in the code where it assumes a different behavior from functional append.

On Mar 1, 2016 12:36 PM, "Danny Yoo" <d...@hashcollision.org <mailto:d...@hashcollision.org>> wrote:


    >
    > Problem is that python complains that he cannot know the type of
    the result of this function (list). In C++ I would specify the
    type, but from what I understood, Python should not need this.
    What did I miss ?

    Can you copy the exact stack trace of the error? It'll help:
    you've interpreted what the error means, which is useful, but it's
    also important to show the unvarnished output too.  It will let us
    look and make our own interpretations.

    Good luck!


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

Reply via email to