| f | def seesaw(sequence): | f | def seesaw(sequence): | 
            |  | evens = [] |  | evens = [] | 
            |  | odds = [] |  | odds = [] | 
            |  | for number in sequence: |  | for number in sequence: | 
            |  | if number % 2 == 0: |  | if number % 2 == 0: | 
            |  | evens.append(number) |  | evens.append(number) | 
            |  | else: |  | else: | 
            |  | odds.append(number) |  | odds.append(number) | 
            | t | even_idx, odd_idx = (0, 0) | t | i, j = (0, 0) | 
            |  | while even_idx < len(evens) or odd_idx < len(odds): |  | while i < len(evens) or j < len(odds): | 
            |  | if even_idx < len(evens): |  | if i < len(evens): | 
            |  | yield evens[even_idx] |  | yield evens[i] | 
            |  | even_idx += 1 |  |  | 
            |  | if odd_idx < len(odds): |  |  | 
            |  | yield odds[odd_idx] |  |  | 
            |  | odd_idx += 1 |  | i += 1 | 
            |  |  |  | if j < len(odds): | 
            |  |  |  | yield odds[j] | 
            |  |  |  | j += 1 |