python-checkio/Storage/group-equal-consecutive.py

25 lines
819 B
Python
Raw Normal View History

2019-12-19 16:34:23 +01:00
def group_equal(els):
result = []
current = []
for element in els:
if len(current) == 0 or element in current:
current.append(element)
else:
result.append(current)
current = [element]
if len(current) != 0:
result.append(current)
return result
if __name__ == '__main__':
print("Example:")
print(group_equal([1, 1, 4, 4, 4, "hello", "hello", 4]))
# These "asserts" are used for self-checking and not for an auto-testing
assert group_equal([1, 1, 4, 4, 4, "hello", "hello", 4]) == [[1, 1], [4, 4, 4], ["hello", "hello"], [4]]
assert group_equal([1, 2, 3, 4]) == [[1], [2], [3], [4]]
assert group_equal([1]) == [[1]]
assert group_equal([]) == []
print("Coding complete? Click 'Check' to earn cool rewards!")