On Tue, Sep 29, 2015 at 01:16:36PM +1000, questions anon wrote: > a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14] > > how can I show the first then skip three and show the next and so on? > For example: > show 1 > then skip 2,3,4 > then show 5 > then skip 6,7,8 > then show 9 > then skip 10,11,12,
Here is one method, using slicing: py> a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14] py> a[::4] [1, 5, 9, 13] The slice a[::4] is equivalent to a[0:len(a):4], that is, it starts at position 0, keeps going until the end, and extracts every fourth value. Here is another method: py> it = iter(a) py> while True: ... try: ... print(next(it)) ... who_cares = next(it), next(it), next(it) ... except StopIteration: ... break ... 1 5 9 13 This grabs each item in turn, prints the first, then throws away three, then prints the next, and so on. This is a good technique for when you want something that doesn't fit into the fairly simple patterns available using slicing, e.g.: - print 1 item; - throw away 2; - print 3 items; - throw away 4; - print 5 items; - throw away 6; - print 7 items; - throw away 8; etc. But for cases where slicing does the job, it is better to use that. -- Steve _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor