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.

