QUEST: does HACKING make FOR loop quicker.

John Doe z2911 at bk.ru
Wed Aug 5 16:00:23 EDT 2015


Presumption
------------------------------------------------------------------------
1. Lists are mutable sequences.
2. There is a subtlety when the sequence is being modified by the FOR 
loop (this can only occur for mutable sequences, i.e. lists)


Preamble
=====================================================================
To pass by reference or by copy of - that is the question from hamlet. 
("hamlet" - a community of people smaller than a village python3.4-linux64)

xlist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
i = 0
for x in xlist:
     print(xlist)
     print("\txlist[%d] = %d" % (i, x))
     if x%2 == 0 :
         xlist.remove(x)
     print(xlist, "\n\n")
     i = i + 1

So, catch the output and help me, PLEASE, improve the answer:
Does it appropriate ALWAYS RE-evaluate the terms of the expression list 
in FOR-scope on each iteration?
But if I want to pass ONCE a copy to FOR instead of a reference (as seen 
from an output) and reduce unreasonable RE-evaluation, what I must to do 
for that?
========================================================================


Assumption. Wind of changes.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sometimes FOR-loop may do a global work. (depends on size of expression 
list)
Sometimes on external DB. (just a joke)

So, what can FOR-loop do for You, depends what can You do for expression 
list, which can be mutable far outside YOUR NICE LOGIC.


QUEST
************************************************************************
Your example of FOR-loop with a simple logic and sensitive information, 
operated by means of external list-array and Your elaborative vision of 
hacking possibilities through mutation of a list's terms.

TIA
RSVP



More information about the Python-list mailing list