>>> interleave_none([0, None, 2, None], [1, 3]) (0, 1, 2, 3)
(a, b)
| 5763 | |
| 5764 | |
| 5765 | def interleave_none(a, b): |
| 5766 | """ |
| 5767 | |
| 5768 | >>> interleave_none([0, None, 2, None], [1, 3]) |
| 5769 | (0, 1, 2, 3) |
| 5770 | """ |
| 5771 | result = [] |
| 5772 | i = j = 0 |
| 5773 | n = len(a) + len(b) |
| 5774 | while i + j < n: |
| 5775 | if a[i] is not None: |
| 5776 | result.append(a[i]) |
| 5777 | i += 1 |
| 5778 | else: |
| 5779 | result.append(b[j]) |
| 5780 | i += 1 |
| 5781 | j += 1 |
| 5782 | return tuple(result) |
| 5783 | |
| 5784 | |
| 5785 | def keyname(name, i, okey): |