Hello, I have working code - but looking for better/improved code. Better coding practices, better algorithm :)
Problem: Given sequence of increasing integers, print blocks of consecutive integers. Example: Input: [10, 11, 12, 15] Output: [10, 11, 12] Input: [51, 53, 55, 67, 68, 91, 92, 93, 94, 99] Outout: [67, 68], [91, 92, 93, 94] My code looks as below: ----------------------------- #!/usr/bin/python a = [51, 53, 55, 67, 68, 91, 92, 93, 94, 99] #a = [] #a = [10] #a = [10, 11, 12, 15] print "Input: " print a prev = 0 blocks = [] tmp = [] last = 0 for element in a: if prev == 0: prev = element next if element == prev + 1: if tmp: pass else: tmp.append(prev) tmp.append(element) else: if tmp: blocks.append(tmp) tmp = [] prev = element if tmp: blocks.append(tmp) if blocks: #print "I have repeated elements and those are:" for b in blocks: print b ----------------------- thank you in advance! -- https://mail.python.org/mailman/listinfo/python-list