def main():
print compress("a") == None
print compress(11) == None
print compress([]) == []
print compress(["a"]) == ["a"]
print compress(["a", "b"]) == ["a", "b"]
print compress(["a", "a", "b"]) == ["a", "b"]
print compress(["a", "a", "b", "b"]) == ["a", "b"]
print compress(["a", "a", "b", "b", "a"]) == ["a", "b", "a"]
print compress(["a", "a", "a", "a", "b", "c", "c", "a", "a", "d", "e", "e", "e", "e"]) == ["a", "b", "c", "a", "d", "e"]
def compress(lista):
return reduce(appender, lista, []) if isinstance(lista, list) else None
def appender(l, v):
if l:
if not l[-1] == v:
l.append(v)
else:
l.append(v)
return l
if __name__ == "__main__":
main()