(l)
| 12 | yield(i) |
| 13 | |
| 14 | def compact_set(l): |
| 15 | single = [] |
| 16 | tuple = [] |
| 17 | prev = None |
| 18 | span = 0 |
| 19 | for e in l: |
| 20 | if prev is None: |
| 21 | prev = e |
| 22 | span = 0 |
| 23 | continue |
| 24 | if prev+span+1 != e: |
| 25 | if span > 2: |
| 26 | tuple.append((prev,prev+span+1)) |
| 27 | else: |
| 28 | for i in range(prev, prev+span+1): |
| 29 | single.append(i) |
| 30 | prev = e |
| 31 | span = 0 |
| 32 | else: |
| 33 | span += 1 |
| 34 | if span: |
| 35 | tuple.append((prev,prev+span+1)) |
| 36 | else: |
| 37 | single.append(prev) |
| 38 | if not single and len(tuple) == 1: |
| 39 | tuple = "range(%d,%d)" % tuple[0] |
| 40 | else: |
| 41 | tuple = " + ".join("list(range(%d,%d))" % t for t in tuple) |
| 42 | if not single: |
| 43 | return "set(%s)" % tuple |
| 44 | if not tuple: |
| 45 | return "set(%r)" % (single,) |
| 46 | return "set(%r + %s)" % (single, tuple) |
| 47 | |
| 48 | ############## Read the tables in the RFC ####################### |
| 49 |
no test coverage detected
searching dependent graphs…