On Wed, May 09, 2018 at 10:56:45AM -0700, 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):
That's not actually your code, is it? Because range(l) gives a TypeError. In future, please copy and paste your code, don't retype it from memory. > print l > b.append(l) > l.pop(0) You are appending the same list each time, not a copy. Instead make a copy by taking a slice from the current position to the end of the list: for i in range(len(l)): b.append(l[i:]) print b will do what you want. -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor