On 05/09/2018 11:56 AM, Rick Jaramillo wrote: > > Hello, > > I’m having trouble understanding the following behavior and would greatly > appreciate any insight. > > l = [1,2,3,4] > b=[] > > for i in range(l): > print l > b.append(l) > l.pop(0) > > print b
You've had some other comments, but let me add: sequence types in Python don't work the way you seem to be expecting. you can just loop over a sequence like a list directly. OR you can use the range function to create a sequence, but you wouldn't do both. In the interpreter: >>> l = [1, 2, 3, 4] >>> for i in l: ... print(i) ... 1 2 3 4 >>> for i in range(1, 5): ... print(i) ... 1 2 3 4 >>> Python provides syntax called a list comprehension that lets you build a list on the fly, rather that writing out a loop with an append inside it, at first it looks a little strange but it soon becomes very comfortable (life will *really* get better if you stop using single-character variable names that look alike!): >>> l = [1, 2, 3, 4] >>> b = [i for i in l] >>> print(b) [1, 2, 3, 4] >>> _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor