Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Sort Except Zero by viktor.chyrkin
from typing import Iterable
def except_zero(items: list) -> Iterable:
zero = []
other = []
for index, num in enumerate(items):
if num != 0:
other.append(num)
else:
zero.append([num, index])
other.sort()
for num in zero:
other.insert(num[1], num[0])
return other
if __name__ == '__main__':
print("Example:")
print(list(except_zero([5, 3, 0, 0, 4, 1, 4, 0, 7])))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(except_zero([5, 3, 0, 0, 4, 1, 4, 0, 7])) == [1, 3, 0, 0, 4, 4, 5, 0, 7]
assert list(except_zero([0, 2, 3, 1, 0, 4, 5])) == [0, 1, 2, 3, 0, 4, 5]
assert list(except_zero([0, 0, 0, 1, 0])) == [0, 0, 0, 1, 0]
assert list(except_zero([4, 5, 3, 1, 1])) == [1, 1, 3, 4, 5]
assert list(except_zero([0, 0])) == [0, 0]
print("Coding complete? Click 'Check' to earn cool rewards!")
Sept. 27, 2021
Comments: