Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Explanation solution in Clear category for Compress List by defensor
from typing import Iterable
def compress(items: list) -> Iterable:
# your code here
try:
# 1) list the fitst element
# 2) compare the elements with the next elements and list the next ones if current != next
# put 1) and 2) together
return [items[0]] + [items[i+1] for i in range(len(items)-1) if items[i] != items[i+1]]
except:
# if the list is empty just return items
return items
if __name__ == '__main__':
print("Example:")
print(list(compress([1, 1, 1, 1, 2, 2, 2, 1, 1, 1])))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(compress([
5, 5, 5,
4, 5, 6,
6, 5, 5,
7, 8, 0,
0])) == [5, 4, 5, 6, 5, 7, 8, 0]
assert list(compress([1, 1, 1, 1, 2, 2, 2, 1, 1, 1])) == [1, 2, 1]
assert list(compress([7, 7])) == [7]
assert list(compress([])) == []
assert list(compress([1, 2, 3, 4])) == [1, 2, 3, 4]
assert list(compress([9, 9, 9, 9, 9, 9, 9])) == [9]
print("Coding complete? Click 'Check' to earn cool rewards!")
July 6, 2021
Comments: