On 25 Haziran, 17:44, MRAB <[EMAIL PROTECTED]> wrote: > On Jun 25, 11:37 am, "A.T.Hofkamp" <[EMAIL PROTECTED]> wrote: > > > > > On 2008-06-25, python_newbie <[EMAIL PROTECTED]> wrote: > > > > On 24 Haziran, 04:33, Terry Reedy <[EMAIL PROTECTED]> wrote: > > > Thanks for all answers. At the end i ve only one point. If a decide to > > > copy list to iterate when will i have to do this ? Before the > > > iteration ? And then iterate through one list and change value of the > > > other ? > > > Before starting the iteration would be a good point.... > > > I usually do in such cases: > > > for x in mylist[:]: > > ... > > > making a copy just before the for loop starts. > > > Lately, I have started avoiding in-place modification of lists. Instead, I > > construct a new list from scratch inside the for-loop, and replace the old > > list > > with the newly constructed list afterwards like: > > > new_list = [] > > for x in mylist: > > .... > > new_list.append(x) > > > mylist = new_list > > > by appending a different value than the original or by not appending, you > > can > > influence the contents of the new list. > > > I find this solution nicer than in-place modification of an existing list. > > > Sincerely, > > Albert > > And if you were originally doing in-place modification because there > were also other references to the list then you could just do: > > mylist[:] = new_list
Thanks again. I see that you use two different syntax for lists "mylist = new_list" and "mylist[:] = new_list" these are same i think ? -- http://mail.python.org/mailman/listinfo/python-list