Найти повторяющиеся последовательности в списке
Есть задача определить является ли список чисел законченной последовательностью или нет. Повторяющаяся последовательность должна состоять хотя бы из 2 целых чисел.
Например:
[1, 2, 3, 3, 1, 2, 3, 3] - True - повторяющаяся последовательность 1 2 3 3, закончена [1, 2, 1, 2, 1, 2, 1, 2] - True, 1 2, аналогично
[1, 2, 2, 2, 1, 2, 2, 2, 1] - False, подпоследовательность 1 2 2 2 обрублена. [1, 1, 6, 1, 1, 7] - False, подпоследовательность 1 1 6 1 1 7 появляется только один раз [5, 5, 5] - False, потенциальная последовательность 5, 5 - Обрублена
Написал код но не получается учесть пример такой, как 5, 5, 7, 7 или 1, 1, 6, 1, 1, 7
Помогите пожалуйста с решением, спасибо!
def complete_bracelet(my_list):
s = "".join(map(str, my_list))
a = s[:1]
if len(s) % 2 != 0:
return False
try:
for i in range(len(s)):
if s.count(a) >= 2:
a += s[i+1]
return (len(s) % len(a[:-1]) == 0) and (s.count(a[:-1]) > 1)
except:
return False