<div dir="ltr">Hi,<div><br></div><div>The following code tries to generate some dummy data for regex exercises. My question is in reference the line before last:</div><div><br></div><div><div>    dom=&quot;&quot;.join(choice(lc) for j in range (dlen))</div>
<br class="Apple-interchange-newline"></div><div>how does the interpreter know what &quot;j&quot; is supposed to refer to when it was not mentioned prior?</div><div><br></div><div><br></div><div><div>from random import randrange, choice</div>
<div>from string import ascii_lowercase as lc</div><div>from sys import maxsize</div><div>from time import ctime</div><div><br></div><div>tlds = (&#39;com&#39;, &#39;edu&#39;, &#39;net&#39;, &#39;org&#39;, &#39;gov&#39;)</div>
<div><br></div><div>for i in range(randrange(5,11)):</div><div>    dtint=randrange(maxsize)    #pick a random number to use to generate random date in next line</div><div>    dtstr=ctime(dtint)          #date string</div>
<div>    llen=randrange(4,8)         #login is shorter</div><div>    login=&#39;&#39;.join(choice(lc) for j in range(llen))</div><div>    dlen=randrange(llen,13)     #domain is longer</div><div>    dom=&quot;&quot;.join(choice(lc) for j in range (dlen))</div>
<div>    print(&#39;{}::{}@{}.{}::{}-{}-{}&#39;.format(dtstr,login,dom,choice(tlds),dtint,llen,dlen))</div><div>    </div><div><br></div></div></div>