Hi Luke, * On 17/06/07, Luke Paireepinart wrote: > a more expanded version that accounts for either list being the longer > one, or both being the same length, would be: > > >>> if len(t) > len(l): x = len(t) > else: x = len(l) > >>> print [(l[i%len(l)],t[i%len(t)]) for i in range(x)] > [(1, 'r'), (2, 'g'), (3, 'b'), (4, 'r'), (5, 'g')]
Being the duffer that I am, I'm very pleased with myself that I came up with a similar solution (albeit as a function rather than a list comprehension) :) You do not need the if statement either, print [(l[i%len(l)],t[i%len(t)]) for i in range(max(len(l), len(t)))] Regards Simon. -- Simon Hooper PARTEX MARKING SYSTEMS UK LTD _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor