Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
deque, dropwhile, sorted, yield solution in Clear category for Sort Except Zero by jakubbortlik
from collections import deque
from itertools import dropwhile
from typing import Iterable
def except_zero(items: list) -> Iterable:
zero_indices = {i for i, x in enumerate(items) if x == 0}
sorted_deque = deque(dropwhile(lambda x: x == 0, sorted(items)))
for i in range(len(items)):
if i in zero_indices:
yield 0
else:
yield sorted_deque.popleft()
Dec. 19, 2022
Comments: