Hi,  Qiancong :

I was looking for exactly this、
Thank you ver much!


2014年6月10日火曜日 23時35分52秒 UTC+9 Qiancong:
>
>  
> Hi, hito koto:
> I think you want to deep copy the list. The following code maybe  helpful:
>  def dcopy(obj):
>     if not isinstance(obj, list):
>         return obj
>     return [dcopy(x) for x in obj]
>  
> But this function only deep copy for list.  You can change code as what I 
> did for dic, set, tuple , etc ..
> ------------------------------
>  [email protected] <javascript:>
>  
>  *From:* François Schiettecatte <javascript:>
> *Date:* 2014-06-10 22:07
> *To:* django-users <javascript:>
> *Subject:* Re: Django python fuction
>  You need to use .append() to add elements to a list, I suggest you take 
> a look at the python tutorial:
>  
> https://docs.python.org/2/tutorial/
>  
> Not quite sure what you are doing with i or elem either.
>  
> François
>  
> On Jun 10, 2014, at 10:01 AM, hito koto <[email protected] <javascript:>> 
> wrote:
>  
> > 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]> 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]. 
> > > 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/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] <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/4bfaf57c-fd97-4543-b6d1-d479fe3d43e4%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/7B064353-8567-4B33-BA7C-97BF08A45764%40gmail.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/3015c174-52e5-419c-9854-d089fa533921%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to