So, I also have errors:

>>> def foo(x):
...         myList = []
...         if isinstance(x, list):
...                 for i in x:
...                         elem = i
...                 return myList + foo(elem)
...         else:
...                 return 1
...
>>>
>>> foo(a)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 6, in foo
  File "<stdin>", line 6, in foo
TypeError: can only concatenate list (not "int") to list





2014年6月10日火曜日 22時53分28秒 UTC+9 François Schiettecatte:
>
> You are redefining 'list' on  line 2, rename list to myList as follows: 
>
> def foo(x): 
>         myList = [] 
>         if isinstance(x, list): 
>                 for i in x: 
>                         elem = i 
>                 return myList + foo(i) 
>         else: 
>                 return 1 
>
> And take this to a python list, this is for django. 
>
> Cheers 
>
> François 
>
>
> On Jun 10, 2014, at 9:43 AM, hito koto <[email protected] <javascript:>> 
> wrote: 
>
> > hi, 
> > 
> > I have this erroes: 
> > 
> > >>> def foo(x): 
> > ...     list = [] 
> > ...     if isinstance(x, list): 
> > ...         for i in x: 
> > ...             elem = i 
> > ...             return list + foo(i) 
> > ...     else: 
> > ...         return 1 
> > ... 
> > >>> foo(a) 
> > Traceback (most recent call last): 
> >   File "<stdin>", line 1, in <module> 
> >   File "<stdin>", line 3, in foo 
> > TypeError: isinstance() arg 2 must be a class, type, or tuple of classes 
> and types 
> > 
> > 
> > 
> > 2014年6月10日火曜日 22時27分42秒 UTC+9 Andrew Farrell: 
> > In general, I recommend adding the line "import pdb;pdb.set_trace()" 
> > to the top of your function and walking through it to see why it doesn't 
> work. 
> > 
> > def foo(x): 
> >     import pdb;pdb.set_trace() 
> > 
> >     list = [] 
> >     if isinstance(x, list): 
> >         for i in x: 
> >             elem = i 
> >             return list + foo(i) 
> >     else: 
> >         return 1 
> > 
> > See https://docs.python.org/2/library/pdb.html on how pdb works. 
> > There are faster ways to debug, but when starting out, pdb lets you see 
> what is happening as you run the function. 
> > 
> > 
> > Some questions I have about this function: 
> > - What is the purpose of the "elem" function? It is never accessed. 
> > - What is the purpose of returning 1 if the argument is not a list? 
> > - Why is it named "foo" rather than something that tells me what the 
> purpose of the function is? 
> > 
> > 
> > On Tue, Jun 10, 2014 at 8:16 AM, hito koto <[email protected]> wrote: 
> > Hello, 
> > 
> > I don't know how can i do to change to write python function 
> > I want to following code change to write python function or change to 
> write  recursive definition 
> > >>> y = [10, 12, [13, [14, 9], 16], 7] 
> > >>> z = copy.deepcopy(y) 
> > >>> y 
> > [10, 12, [13, [14, 9], 16], 7] 
> > >>> z 
> > [10, 12, [13, [14, 9], 16], 7] 
> > >>> z[2][1][1] 
> > 9 
> > >>> z[2][1][1] = 88 
> > >>> z 
> > [10, 12, [13, [14, 88], 16], 7] 
> > [10, 12, [13, [14, 9], 16], 7] 
> > >>> 
> > 
> > this is my use function but not work: 
> > 
> > def foo(x): 
> >     list = [] 
> >     if isinstance(x, list): 
> >         for i in x: 
> >             elem = i 
> >             return list + foo(i) 
> >     else: 
> >         return 1 
> > 
> > 
> > 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "Django users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected]. 
> > To post to this group, send email to [email protected]. 
> > Visit this group at http://groups.google.com/group/django-users. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/cf982ef6-1398-4292-9001-eab418f2035a%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "Django users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > Visit this group at http://groups.google.com/group/django-users. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/2347967a-55c4-400b-9bf3-7aacc4f27311%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/4bfaf57c-fd97-4543-b6d1-d479fe3d43e4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to